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

PHP-Curl模拟HTTPS请求(代码实例)

发布:smiling 来源: PHP粉丝网  添加日期:2022-05-30 08:45:31 浏览: 评论:0 

使用PHP-Curl方式模拟HTTPS请求,测试接口传参和返回值状态

上代码!!

  1. <?php 
  2.  
  3. /** 
  4.  
  5.  * 模拟post进行url请求 
  6.  
  7.  * @param string $url 
  8.  
  9.  * @param array $postData 
  10.  
  11.  */ 
  12.  
  13. function request_post($url = ''$postData = []) { 
  14.  
  15.      if (emptyempty($url)) { 
  16.  
  17.          return false; 
  18.  
  19.      } 
  20.  
  21.      if ($postData != []) { 
  22.  
  23.           $vars = http_build_query($postData'''&');  
  24.  
  25.         curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); 
  26.  
  27.      }  
  28.  
  29.      $postUrl = $url
  30.  
  31.      //初始化curl //转义 
  32.  
  33.      $ch = curl_init();             
  34.  
  35.      //抓取指定网页  
  36.  
  37.      curl_setopt($ch, CURLOPT_URL,$postUrl); 
  38.  
  39.      //设置header  
  40.  
  41.      curl_setopt($ch, CURLOPT_HEADER, 0); 
  42.  
  43.      //要求结果为字符串且输出到屏幕上  
  44.  
  45.      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  46.  
  47.     //规避SSL验证 
  48.  
  49.      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
  50.  
  51.     //跳过HOST验证 
  52.  
  53.      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
  54.  
  55.      //运行curl 
  56.  
  57.      $data = curl_exec($ch);  
  58.  
  59.      curl_close($ch); 
  60.  
  61.      return $data
  62.  
  63.  
  64. /** 
  65.  
  66.  * 测试 
  67.  
  68.  * @param string $url 
  69.  
  70.  */ 
  71.  
  72. function testAction() { 
  73.  
  74.      $url = 'https://www.sojson.com/open/api/weather/json.shtml?city=北京'
  75.  
  76.     $res = request_post($url); 
  77.  
  78.     print_r($res); 
  79.  
  80.  
  81. testAction(); 

结果:

PHP-Curl模拟HTTPS请求(代码实例)

Tags: PHP-Curl HTTPS

分享到: