PHP-curl完成GET或POST申请
经过Curl形式很容易猎取指标网站数据
支持协定:Http、Https
可依据详细需要附带表单、cookie。
GET申请:
/** * curl模仿get进行 http 或 https url申请(可选附带cookie) * @parambool $type申请类型:true为https申请,false为http申请 * @paramstring $url申请地点 * @paramstring$cookie cookie字符串 * @returnstring前往字符串 */ function curl_get($type, $url, $cookie) {//type与url为必传、若无cookie则传空字符串 if (empty($url)) { return false; } $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL,$url);//抓取指定网页 curl_setopt($ch, CURLOPT_HEADER, 0);//设置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求后果为字符串且输入到屏幕上 if($type){ //判别申请协定http或https curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书反省 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中反省SSL加密算法能否存正在 } curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模仿用户应用的阅读器 if(!empty($cookie))curl_setopt($ch,CURLOPT_COOKIE,$cookie); //设置cookie $data = curl_exec($ch);//运转curl curl_close($ch); return $data; }
POST申请:
/** * curl模仿post进行 http 或 https url申请(可选携带表单,cookie) * @parambool $type申请类型:true为https申请,false为http申请 * @paramstring$url申请地点 * @paramarray $post_data申请表复数据array("key1"=>"value1","key2"=>"value2"),表单以数组形式传输 * @paramstring$cookiecookie字符串 * @returnstring前往字符串 */ function curl_post($type, $url, $post_data, $cookie) {//type与url为必传 ,表单post_data数组,以及cookie字符串选传 if (empty($url)) { return false; } if(!empty($post_data)){ $params = ''; foreach ( $post_data as $k => $v ) { $params.= "$k=" . urlencode($v). "&" ; } $params = substr($params,0,-1); } $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL,$url);//抓取指定网页 curl_setopt($ch, CURLOPT_HEADER, 0);//设置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求后果为字符串且输入到屏幕上 if($type){ //判别申请协定http或https curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书反省 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中反省SSL加密算法能否存正在 } curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模仿用户应用的阅读器 if(!empty($cookie))curl_setopt($ch,CURLOPT_COOKIE,$cookie); //设置cookie if(!empty($post_data))curl_setopt($ch, CURLOPT_POSTFIELDS, $params); //设置表单 curl_setopt($ch, CURLOPT_POST, 1);//post提交形式 $data = curl_exec($ch);//运转curl curl_close($ch); return $data; }
保举:《PHP教程》
以上就是PHP-curl经过GET或POST形式完成http及https申请的具体内容,更多请存眷资源魔其它相干文章!
标签: php开发教程 php开发资料 php开发自学 PHP-curl
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!