>백엔드 개발 >PHP 튜토리얼 >php中curl实现get和post请求

php中curl实现get和post请求

WBOY
WBOY원래의
2016-06-20 13:04:031045검색

php 使用 curl 模拟实现 get 和 post请求的方法。

<p><?php</p>/*<br />* url post请求地址<br />* post post数据<br />* cookie cookie数据,传递一个包含HTTP cookie的头连接<br />* cookie 获取到的cookie信息的保存位置<br />* referer 在HTTP请求中包含一个"referer"头的字符串<br />*/<br />function vcurl($url,$post='',$cookie='',$cookiejar='',$referer=''){ <br />	$tmpInfo='';<br />	$cookiepath=getcwd().'./'.$cookiejar;<br />	$curl=curl_init();<br />	curl_setopt($curl,CURLOPT_URL,$url);<br />	curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);<br />	if($referer){<br />		curl_setopt($curl,CURLOPT_REFERER,$referer);<br />	}else{<br />		curl_setopt($curl,CURLOPT_AUTOREFERER,1);<br />	}<br />	if($post){<br />		curl_setopt($curl,CURLOPT_POST,1);<br />		curl_setopt($curl,CURLOPT_POSTFIELDS,$post);<br />	}<br />	if($cookie){<br />		curl_setopt($curl,CURLOPT_COOKIE,$cookie);<br />	}<br />	if($cookiejar){<br />		curl_setopt($curl,CURLOPT_COOKIEJAR,$cookiepath);<br />		curl_setopt($curl,CURLOPT_COOKIEFILE,$cookiepath);<br />	}<br />	curl_setopt($curl,CURLOPT_TIMEOUT,100);<br />	curl_setopt($curl,CURLOPT_HEADER,0);<br />	curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);<br />	$tmpInfo=curl_exec($curl);<br />	if(curl_errno($curl)){<br />		echo '<pre class="brush:php;toolbar:false"><b>错误:</b><br />'.curl_error($curl);<br />	}<br />	curl_close($curl);<br />	return $tmpInfo;<br /><p>}</p>

使用方法如下:

echo vcurl('http://www.scutephp.com/post.php',array('id'=>235,'title'=>'php模拟发送get和post请求'),'',tempnam('./temp','cookie'));


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.