ホームページ  >  記事  >  バックエンド開発  >  PHP ソケットを使用して指定されたページにデータを送信する_PHP チュートリアル

PHP ソケットを使用して指定されたページにデータを送信する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:51:16834ブラウズ

jqueryでload postなどを使っても思ったような結果が得られなかったので、突然-----最近考えていたことが全て無駄になってしまったので、これをやるしかありません
phpで指定したページに送信するにはデータがあるはずで、戻り値も持つことができます
そこでこの関数を見つけましたが、スペースを渡すことができるかどうかはわかりません。スペースが通過できるかどうかはわかりません

コードをコピーしてください コードは次のとおりです:
/*--------- --------------------------------- -------------------
*関数: PHP ソケットを使用して、指定されたページにデータを送信します
*
*作者: Honhe.c
*
*説明: post($url , $data)
*
* $url = 'http://www .jb51.net';
* $data[user] = 'hong';
* echo post($url, $data); --------------------------------- --------------- ---*/

function post($url, $data) {

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

$encoded = "";

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

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

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

fputs($fp, "$encodedn");

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

$results = "" $inheader = 1;
while(!feof($fp)) {
if ($inheader && ($line); == "n" || $line == "rn")) {
$inheader = 0; }
elseif (!$inheader) { L $ 結果。 ;

$ 結果を返す';
$data['gid'] = '1';
*/

;



http://www.bkjia.com/PHPjc/319176.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/319176.html

技術記事

jqueryでloadpostなどを使っても思ったような結果が得られなかったので、突然-----これまでの考えが全て無駄になり、もうこれを実行するしかありません。 php の指定されたページにデータをコピーします。

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