AI编程助手
AI免费问答

php中curl实现get和post请求

  2016-06-20 13:04   1416浏览 原创

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'));


php免费学习视频:立即学习
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。