欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php发送get、post请求的几种方法

程序员文章站 2022-05-10 20:20:02
...
转自:http://blog.csdn.net/haha00217/article/details/7969504

方法1: 用file_get_contents 以get方式获取内容

1 

方法2: 用fopen打开url, 以get方式获取内容

 1 

方法3:用file_get_contents函数,以post方式获取url

 1  'bar');   3  4 //生成url-encode后的请求字符串,将数组转换为字符串   5 $data = http_build_query($data);   6 $opts = array (   7   'http' => array (   8       'method' => 'POST',   9       'header'=> "Content-type: application/x-www-form-urlencoded\r\n" .  10       "Content-Length: " . strlen($data) . "\r\n",  11       'content' => $data  12   )  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方式获取完整的数据,包括header和body,fsockopen需要 PHP.ini 中 allow_url_fopen 选项开启

 1 

方法5:用fsockopen函数打开url,以POST方式获取完整的数据,包括header和body

 1 $value)  11 $values[]="$key=".urlencode($value);  12 $data_string=implode("&",$values);  13     // Find out which port is needed - if not given use standard (=80)  14 if(!isset($URL_Info["port"]))  15 $URL_Info["port"]=80;  16     // building POST-request:  17 $request.="POST ".$URL_Info["path"]." HTTP/1.1\n";  18 $request.="Host: ".$URL_Info["host"]."\n";  19 $request.="Referer: $referer\n";  20 $request.="Content-type: application/x-www-form-urlencoded\n";  21 $request.="Content-length: ".strlen($data_string)."\n";  22 $request.="Connection: close\n";  23     $request.="Cookie:   $cookie\n";  24     $request.="\n";  25 $request.=$data_string."\n";  26     $fp = fsockopen($URL_Info["host"],$URL_Info["port"]);  27 fputs($fp, $request);  28 while(!feof($fp)) {  29 $result .= fgets($fp, 1024);  30 }  31 fclose($fp);  32     return $result;  33 }  34 ?>  35 36 37  

方法6:使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展

 1