ホームページ >php教程 >php手册 >PHP ソケットを使用して、指定されたページにデータを送信します

PHP ソケットを使用して、指定されたページにデータを送信します

WBOY
WBOYオリジナル
2016-06-13 12:28:00790ブラウズ

jquery でロードポストなどを使用しても、思ったような結果が得られませんでした! 突然 ----- ここ最近考えていたことはすべて無駄になり、今はこれを行う必要があります
phpで指定したい ページはデータを送信する必要があり、戻り値があるはずです
そこでこの関数を探しましたが、スペースを渡せれば大丈夫だと思い試していませんでした。
村から持ってきたものです!

コードをコピーします コードは次のとおりです:


/*-------------------------- -------------------- -------------------------
*機能 :PHPソケットを利用して指定ページにデータを送信
*
* 作成者: Honhe.c
*
* 説明: post($url, $data)
*
* $url = 'http://www.jb51.net';
* $ data[user] = 'hong'; $data[pass] = 'xowldo';
* echo post($url , $data); -------------------------------------- ---------- --------*/

function post($url, $data) {

$url = parse_url($url) ;
if (!$url) return "URL を解析できませんでした";
if (!isset($url['port'])) { $url['port'] = "" }
if (!isset($url[ 'クエリ'])) { $url['クエリ'] = "" }

$encoded = ""

while (list ($k,$v) = each( $data)) {
$encoded .= ($encoded ? "&" : "");
$encoded .= rawurlencode($k)."=" .rawurlencode($v); }

$fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80); (!$fp) return " $url[host] へのソケットを開けませんでした";

fputs($fp, sprintf("POST %s%s%s HTTP/1.0n", $ url['path'], $url[ 'クエリ'] ?" : "", $url['クエリ']));
fputs($fp, "ホスト: $url[host]n" ); "コンテンツ タイプ: application/x-www-form-urlencodedn");
fputs($fp, "コンテンツの長さ: " . strlen($encoded) . "n "); , "接続: closenn");

fputs($fp, "$encodedn");

$line = fgets($fp,1024 ); "^HTTP/1..200", $line)) return;

$results = ""; $inheader = 1;
while(!feof ($fp)) {
$ line = fgets($fp,1024);
if ($inheader && ($line == "n" || $line == "rn")) {
$inheader = 0; > $results を返します;

/*
$url = 'http://video.xxx.com:80/game_vm.php';
$data[' gid' ] = '1';
エコーポスト($url, $data);
*/

?>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。