ホームページ > バックエンド開発 > PHPチュートリアル > PHPでgetおよびpostリクエストを送信するためのいくつかのメソッド

PHPでgetおよびpostリクエストを送信するためのいくつかのメソッド

WBOY
リリース: 2016-06-23 13:13:54
オリジナル
960 人が閲覧しました

転載元: http://blog.csdn.net/haha00217/article/details/7969504

方法 1: file_get_contents を使用して取得モードでコンテンツを取得する

1 <?php  2 $url='http://www.domain.com/';  3 $html = file_get_contents($url);  4 echo $html;  5 ?>  
ログイン後にコピー

方法 2: fopen を使用して URL を開き、get モードでコンテンツを取得します

 1 <?php   2 $fp = fopen($url, 'r');   3 //返回请求流信息(数组:请求状态,阻塞,返回值是否为空,返回值http头等)   4 stream_get_meta_data($fp);   5 while(!feof($fp)) {   6 $result .= fgets($fp, 1024);   7 }   8 echo "url body: $result";   9 fclose($fp);  10 ?> 
ログイン後にコピー

方法 3: file_get_contents 関数を使用して post モードで URL を取得します

 1 <?php   2 $data = array ('foo' => 'bar');   3  4 //生成url-encode后的请求字符串,将数组转换为字符串   5 $data = http_build_query($data);   6 $opts = array (   7 <span style="white-space:pre">  </span>'http' => array (   8 <span style="white-space:pre">      </span>'method' => 'POST',   9 <span style="white-space:pre">      </span>'header'=> "Content-type: application/x-www-form-urlencoded\r\n" .  10 <span style="white-space:pre">      </span>"Content-Length: " . strlen($data) . "\r\n",  11 <span style="white-space:pre">      </span>'content' => $data  12 <span style="white-space:pre">  </span>)  13 );  14 //生成请求的句柄文件  15 $context = stream_context_create($opts);  16 $html = file_get_contents('http://localhost/e/admin/test.html', false, $context);  17 echo $html;  18 ?>  
ログイン後にコピー

方法 4: 使用 fsockopen 関数は URL を開き、get モードで完全なデータを取得します。 fsockopen では、PHP.ini のallow_url_fopen オプションがオンになっている必要があります。

方法 5: fsockopen 関数 url で開き、POST モードでヘッダーと本文を含む完全なデータを取得します

 1 <?php   2 function get_url ($url,$cookie=false)   3 {   4 $url = parse_url($url);   5 $query = $url[path]."?".$url[query];   6 echo "Query:".$query;   7 $fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30);   8 if (!$fp) {   9 return false;  10 } else {  11 $request = "GET $query HTTP/1.1\r\n";  12 $request .= "Host: $url[host]\r\n";  13 $request .= "Connection: Close\r\n";  14 if($cookie) $request.="Cookie:   $cookie\n";  15 $request.="\r\n";  16 fwrite($fp,$request);  17 while()) {  18 $result .= @fgets($fp, 1024);  19 }  20 fclose($fp);  21 return $result;  22 }  23 }  24 //获取url的html部分,去掉header  25 function GetUrlHTML($url,$cookie=false)  26 {  27 $rowdata = get_url($url,$cookie);  28 if($rowdata)  29 {  30 $body= stristr($rowdata,"\r\n\r\n");  31 $body=substr($body,4,strlen($body));  32 return $body;  33 }  34     return false;  35 }  36 ?>  
ログイン後にコピー

方法 6: Curl ライブラリを使用する前に、curl ライブラリを使用します。 php.ini が開かれているかどうかを確認する必要があるかもしれません。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート