当前位置:首页 > PHP教程 > 正文内容

PHP-curl经由过程GET或POST体式格局完成http及https要求【php教程】,PHP-curl

搜教程4年前 (2019-12-05)PHP教程123
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请求的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/16475.html

标签: PHP-curl
分享给朋友:

“PHP-curl经由过程GET或POST体式格局完成http及https要求【php教程】,PHP-curl” 的相关文章

compact函数怎样用【php教程】,compact函数

compact函数怎样用【php教程】,compact函数

PHP compact()函数用于竖立一个数组,包括变量名和它们的值。 php compact()函数 语法 作用:建立包括变量名和它们的值的数组 语法: compact(var1,var2...) 参数: var1 必须。可所以带有变量名的字符串,或者是变量数组。 var2,...

filesize函数怎样用【php教程】,filesize函数

filesize函数怎样用【php教程】,filesize函数

php filesize()函数用于获得文件大小。 php filesize()函数 语法 作用:返回指定文件的大小。 语法: filesize(filename) 参数: filename 必须。规定要搜检的文件。 申明:若胜利,则返回文件大小的字节数。若失利,则返回 fa...

PHP如安在关联数组的开首增加新元素?【php教程】,PHP关联数组,开头添加新元素

PHP如安在关联数组的开首增加新元素?【php教程】,PHP关联数组,开头添加新元素

在PHP中,关联数组是一种数组范例,个中索引不须要像索引数组那样严厉递次。通常在现有关联数组中增加一个新元素,它将附加在该数组的末端。 例: <?php $arr = array('one' => 1, 'two' => 2); $arr['zero'] =...

PHP简朴对称加密算法的引见(代码示例)【php教程】,PHP

本篇文章给人人带来的内容是关于PHP简朴对称加密算法的引见(代码示例),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 开首问候语:PHP 是世界上最好的言语,能够未来会是宇宙中最好的言语,假如你想进修更多PHP学问, 能够博主更多文章,相识更多PHP专业学问。 加密...

PHP完成九九乘法口诀表(代码示例)【php教程】,PHP实现九九乘法口诀表

PHP完成九九乘法口诀表(代码示例)【php教程】,PHP实现九九乘法口诀表

本篇文章将给人人引见如何用PHP完成耳熟能详的九九乘法口诀表,简朴风趣,感兴趣的朋侪能够参考进修~ PHP完成九九乘法口诀表的要领,代码以下: <!DOCTYPE html> <html> <body> <table align="left" b...

PHP中DES加解密的代码示例【php教程】,PHP

本篇文章给人人带来的内容是关于PHP中DES加解密的代码示例,有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 test.php测试文件 <?php require_once('Des.php'); $des = new Des(); $data['a'] = 'a';...