トラックバック送信後、戻り値の確認
Posted by Koumei on 7月 27, 2010 in webプログラミング |
トラックバックを送信するのはフォームでもできる。
送りっぱなしである。
ちゃんとやるなら、相手の戻りを確認しなければならない。
送りっぱなしなら簡単だし、待ち時間もいらない。
それもひとつの選択肢ではあるが・・・
とりあえず戻り値を確認するようにしよう。
XML形式で戻されるが、前に書いたように「<error>戻り値</error>」の部分だけ解釈しても良い。
「0」なら成功、それ以外なら失敗である。
さてどうやるか。
XAMをパースして、連想配列に入れて、そこから読み出して・・・
面倒である。
ヒントは、エラータグで囲まれた部分だけが必要で、しかもそのタグは1回しか出てこないのである。
関数内だとして・・・
// ソケットオープン
if (!$sock = fsockopen($host , 80 , $errNo , $errStr , 3)){
return "Socket Open Error";
}
// 送信
fputs($sock , $senddata);
//相手からの戻りを受け取る
while(!feof($sock)){
$res = fgets($sock);
}
//戻り値を取り出す
return preg_match_all("|<error>(.*?)</error>|","", $res);
最後のpreg_match_all部分で取り出せる。
1行である。
もうちょっと細かくやるなら、「0」以外ならメッセージを取り出すと良いだろう。