当前位置:首页 > PHP教程 > php高级应用 > 列表

php curl file_get_contents post方式获取数据

发布:smiling 来源: PHP粉丝网  添加日期:2018-09-21 09:39:03 浏览: 评论:0 

curl post,file_get_contents post,curl file_get_contents post请求数据

在PHP中cURL、file_get_contents函数均可以获取远程链接的数据,但是file_get_contents的可控制性不太好,对于各种复杂情况的数据采集情景,file_get_contents显得有点无能为力,cURL在数据采集情景复杂的环境下略显优势。cURL函数的curl_setopt里面还有很多参数,读者可以抽空整体看一遍,虽然平时未必用得上,但是至少做到心里有底,知道都有哪些参数,必要时还能找出来使用。本文仅粗略介绍了file_get_contents函数和cURL函数的基本使用:

curl post方式获取数据,调用示例:

  1. $post_data = array ("category" => "9"); 
  2. echo postCurl('http://fity.cn/category.php',$post_data); 
  3.  
  4. //CURL函数--POST方式请求资源 
  5. function postCurl($api_url$post_data){ 
  6.     $ch = curl_init(); // 初始化CURL句柄 
  7.     curl_setopt($ch, CURLOPT_URL, $api_url); // 设置访问的url地址 
  8.     curl_setopt($ch, CURLOPT_TIMEOUT, 35); // 设置超时 
  9.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); // 等待的时间,如果设置为0,则不等待 
  10.     curl_setopt($ch, CURLOPT_HEADER, false); // 设定是否输出页面内容 
  11.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设定是否显示头信息 
  12.     curl_setopt($ch, CURLOPT_POST, true);  // post数据 
  13.     curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);// post的变量 
  14.     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"); // 模拟浏览器头信息 
  15.     curl_setopt($ch, CURLOPT_REFERER, "http://www.x.com"); // 伪造来源地址 
  16.     $data = curl_exec($ch); 
  17.     curl_close($ch); 
  18.   if ($data) { 
  19.     return $data
  20.   } else { 
  21.     return false; 
  22.   } 

file_get_contents post方式获取数据:

  1. $postdata = array ('category' => 9); 
  2. $postdata = http_build_query($postdata); 
  3. $opts = array ( 
  4.   'http' => array ( 
  5.   'method' => 'POST'
  6.   'content' => $postdata 
  7. //phpfensi.com 
  8. ); 
  9. $context = stream_context_create($opts); 
  10. $html = file_get_contents('http://fity.cn/category.php', false, $context); 
  11. echo $html

Tags: curl file_get_contents

分享到: