PHP ソケット プログラミングを使用してインターフェイスにデータを直接送信し、ポスト操作をシミュレートします。
/*************************************************** * *******
名前: POST テスト プログラム バージョン: 1.0 日付: 2004-08-05 ************************** * *********************************/
/ $flag = 0;
//投稿するデータ
$argv = array(
'var1'=>'abc',
'var2'=>'こんにちは? ');
//投稿する文字列を構築します
foreach ($argv as $key=>$value) {
if ($flag!=0) {
$params .= "&";
$flag = 1;
}
$params.= $key."="; $params.= urlencode($value);
$flag = 1;
}
$length = strlen($params);
//ソケット接続を作成する
$fp = fsockopen("127.0.0.1",80,$errno,$errstr,10) または exit($errstr."--->".$errno);
//投稿リクエストのヘッダーを構築します
$header = "POST /mobile/try.php HTTP/1.1rn";
$header .= "ホスト:127.0.0.1rn";
$header .= "リファラー:/mobile/sendpost.phprn";
$ header .= "Content-Type: application/x-www-form-urlencodedrn";
$header .= "Content-Length: ".$length."rn";
$header .= "Connection: Closernrn";
/ /投稿文字列を追加
$header .= $params."rn";
//投稿データを送信
fputs($fp,$header);
$inheader = 1;
while (!feof($fp) ) {
$line = fgets($fp,1024); //リクエストパケットのヘッダーを削除し、ページの戻りデータのみを表示します
if ($inheader && ($line == "n" || $line == "rn" )) {
$inheader = 0;
}
if ($inheader == 0) {
echo $line;
}
}
fclose($fp);
?>