ホームページ >バックエンド開発 >PHPチュートリアル >Curl、socket、file_get_contents の 3 つのメソッドを使用して PHP_PHP チュートリアルでデータを POST する

Curl、socket、file_get_contents の 3 つのメソッドを使用して PHP_PHP チュートリアルでデータを POST する

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

复制代符号代仔例:

/**
* ソケットのバージョン
* 使用方法:
* $post_string = "app=socket&version=beta"
* request_by_socket('jb51.net','/restServer.php',$post_string);*/
function request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$timeout = 30){
$socket = fsockopen($remote_server,$port,$errno,$errstr,$timeout);
if (!$socket) die("$errstr($errno)");
fwrite($socket,"POST $remote_path HTTP/1.0");
fwrite($socket,"ユーザーエージェント: ソケットの例");
fwrite($socket,"HOST: $remote_server");
fwrite($socket,"Content-type: application/x-www-form-urlencoded");
fwrite($socket,"Content-length: ".strlen($post_string)+8."");
fwrite($socket,"Accept:*/*");
fwrite($socket,"");
fwrite($socket,"mypost=$post_string");
fwrite($socket,"");
$header = "";
while ($str = トリム(fgets($socket,4096))) {
$header.=$str;
}
$data = "";
while (!feof($socket)) {
$data .= fgets($socket,4096);
}
$data を返します。
}
/**
* Curl バージョン
* 使用方法:
* $post_string = "app=request&version=beta";
* request_by_curl('http://jb51.net/restServer.php',$post_string);*/
function request_by_curl($remote_server,$post_string){
$ch =curl_init();
curl_setopt($ch,CURLOPT_URL,$remote_server);
curl_setopt($ch,CURLOPT_POSTFIELDS,'mypost='.$post_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_USERAGENT,"Jimmy の CURL サンプル ベータ版");
$data =curl_exec($ch);
curl_close($ch);
$data を返す;
}
/**
* 他のバージョン
* 使用方法:
* $post_string = "app=request&version=beta"
* request_by_other('http://jb51.net/restServer.php',$post_string);*/
function request_by_other($remote_server,$post_string){
$context = array(
'http'=>array(
'method'=>'POST',
' header'=>'Content-type: application/x-www-form-urlencoded'."".
'User-Agent : Jimmy's POST Example beta'.""
'Content-length: '.strlen($ post_string)+8,
'content'=>'mypost='.$post_string)
);
$stream_context = stream_context_create($context);
$data = file_get_contents($remote_server,FALSE,$stream_context);
$data を返す;
}
?>



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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/324158.html技術記事复制代码代码如下: ?php /*** ソケットのバージョン * 使用法: * $post_string = "app=socket * request_by_socket('jb51.net','/restServer.php',$post_string);*/ function reques...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。