1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP发送GET或POST的6种方法

作者:用户 来源:互联网 时间:2017-11-30 11:46:47

phppost方法get发送

PHP发送GET或POST的6种方法 - 摘要: 本文讲的是PHP发送GET或POST的6种方法, 转载于传送门 方法1: 用file_get_contents 以get方式获取内容: ? 12345 <?php$url='http://www.jb51.net/';$html= file_get_contents($url)

转载于传送门


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

?
12345 <?php$url='http://www.jb51.net/';$html= file_get_contents($url);echo$html;?>

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

?
123456789 <?php$fp= fopen($url, ‘r');stream_get_meta_data($fp);while(!feof($fp)) {$result.= fgets($fp, 1024);}echo“url body: $result”;fclose($fp);?>

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

?
123456789101112131415161718 <?php$data= array(‘foo' => ‘bar');$data= http_build_query($data); $opts= array(‘http' => array(‘method' => ‘POST',‘header'=> “Content-type: application/x-www-form-urlencodedrn” .“Content-Length: ” . strlen($data) . “rn”,‘content' => $data)); $context= stream_context_create($opts);$html= file_get_contents(‘http://localhost/e/admin/test.html', false, $context); echo$html;?>

方法4:用fsockopen函数打开url,以get方式获取完整的数据,包括header和body,fsockopen需要 PHP.ini 中 allow_url_fopen 选项开启

?
12345678910111213141516171819202122232425262728293031323334353637 <?phpfunctionget_url ($url,$cookie=false){$url= parse_url($url);$query= $url[path].”?”.$url[query];echo“Query:”.$query;$fp= fsockopen($url[host],$url[port]?$url[port]:80 , $errno,$errstr, 30);if(!$fp) {returnfalse;}else{$request= “GET $queryHTTP/1.1rn”;$request.= “Host: $url[host]rn”;$request.= “Connection: Closern”;if($cookie)$request.=”Cookie: $cookien”;$request.=”rn”;fwrite($fp,$request);while([email protected]feof($fp)) {$result.= @fgets($fp, 1024);}fclose($fp);return$result;}}//获取url的html部分,去掉headerfunctionGetUrlHTML($url,$cookie=false){$rowdata= get_url($url,$cookie);if($rowdata){$body=stristr($rowdata,”rnrn”);$body=substr($body,4,strlen($body));return$body;} returnfalse;}?>

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

?
1234567891011121314151617181920212223242526272829303132333435363738394041424344 <?phpfunctionHTTP_Post($URL,$data,$cookie,$referrer=”"){ // parsing the given URL$URL_Info=parse_url($URL); // Building referrerif($referrer==”")// if not given use this script as referrer$referrer=”111″; // making string from $dataforeach($dataas $key=>$value)$values[]=”$key=”.urlencode($value);$data_string=implode(“&”,$values); // Find out which port is needed – if not given use standard (=80)if(!isset($URL_Info["port"]))$URL_Info["port"]=80; // building POST-request:$request.=”POST “.$URL_Info["path"].” HTTP/1.1n”;$request.=”Host: “.$URL_Info["host"].”n”;$request.=”Referer:$referern”;$request.=”Content-type: application/x-www-form-urlencodedn”;$request.=”Content-length: “.strlen($data_string).”n”;$request.=”Connection: closen”; $request.=”Cookie: $cookien”; $request.=”n”;$request.=$data_string.”n”; $fp= fsockopen($URL_Info["host"],$URL_Info["port"]);fputs($fp,$request);while(!feof($fp)) {$result.= fgets($fp, 1024);}fclose($fp); return$result;} ?>

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

?
1234567891011 <?php$ch= curl_init();$timeout= 5;curl_setopt ($ch, CURLOPT_URL, ‘http://www.jb51.net/');curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);$file_contents= curl_exec($ch);curl_close($ch); echo$file_contents;?>
th7cn

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , post , 方法 , get 发送 ,以便于您获取更多的相关知识。