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

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

  1. <?php 
  2. /* 
  3. * url post请求地址 
  4. * post post数据 
  5. * cookie cookie数据,传递一个包含HTTP cookie的头连接 
  6. * cookie 获取到的cookie信息的保存位置 
  7. * referer 在HTTP请求中包含一个"referer"头的字符串 
  8. */ 
  9. function vcurl($url,$post='',$cookie='',$cookiejar='',$referer=''){  
  10.     $tmpInfo=''
  11.     $cookiepath=getcwd().'./'.$cookiejar
  12.     $curl=curl_init(); 
  13.     curl_setopt($curl,CURLOPT_URL,$url); 
  14.     curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']); 
  15.     if($referer){ 
  16.         curl_setopt($curl,CURLOPT_REFERER,$referer); 
  17.     }else
  18.         curl_setopt($curl,CURLOPT_AUTOREFERER,1); 
  19.     } 
  20.     if($post){ 
  21.         curl_setopt($curl,CURLOPT_POST,1); 
  22.         curl_setopt($curl,CURLOPT_POSTFIELDS,$post); 
  23.     } 
  24.     if($cookie){ 
  25.         curl_setopt($curl,CURLOPT_COOKIE,$cookie); 
  26.     } 
  27.     if($cookiejar){ 
  28.         curl_setopt($curl,CURLOPT_COOKIEJAR,$cookiepath); 
  29.         curl_setopt($curl,CURLOPT_COOKIEFILE,$cookiepath); 
  30.     } 
  31.     curl_setopt($curl,CURLOPT_TIMEOUT,100); 
  32.     curl_setopt($curl,CURLOPT_HEADER,0); 
  33.     curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); 
  34.     $tmpInfo=curl_exec($curl); 
  35.     if(curl_errno($curl)){ 
  36.         echo '<pre><b>错误:</b><br />'.curl_error($curl); 
  37.     } 
  38.     curl_close($curl); 
  39.     return $tmpInfo

使用方法如下:

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

转载请注明:代码家园 » php使用curl实现get和post请求的方法

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)