PHP-Curl模拟HTTPS请求

话不多说,直接上代码
<?php
/**
 * 模拟post进行url请求
 * @param string $url
 * @param array $postData
 */
function request_post($url = ‘‘, $postData = []) {
     if (empty($url)) {
         return false;
     }
     if ($postData != []) {
          $vars = http_build_query($postData, ‘‘, ‘&‘);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
     }
     $postUrl = $url;
     //初始化curl //转义
     $ch = curl_init();
     //抓取指定网页
     curl_setopt($ch, CURLOPT_URL,$postUrl);
     //设置header
     curl_setopt($ch, CURLOPT_HEADER, 0);
     //要求结果为字符串且输出到屏幕上
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //规避SSL验证
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    //跳过HOST验证
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
     //运行curl
     $data = curl_exec($ch);
     curl_close($ch);
     return $data;
}
/**
 * 测试
 * @param string $url
 */
function testAction() {
     $url = ‘https://www.sojson.com/open/api/weather/json.shtml?city=北京‘;
    $res = request_post($url);
    print_r($res);
}
testAction();

结果:

PHP技术交流QQ群(各个大佬在线解答技术问题): 953618831

 

原文地址:https://www.cnblogs.com/wadhf/p/11783052.html

时间: 2024-10-10 06:58:19

PHP-Curl模拟HTTPS请求的相关文章

[PHP自动化-进阶]003.CURL处理Https请求访问

引言:继前文<模拟登录并采集数据>,<模拟登录带有验证码的网站>,大家对CURL基本上已经有了认识,这一讲简单的说一下请求Https. 在很多的站点,如TalkingData, BaiDu等等,一些请求协议都是走SSL,大白话来说就是Https,这种协议在模拟CURL时可能会出现请求不成功等等的问题. 下面为大家讲一下解决方案. 这一讲很简单,但能说明问题……. 异常提示 大多数异常信息提示如下:证书验证失败. SSL certificate problem, verify tha

用curl发起https请求

使用curl发起https请求 使用curl如果想发起的https请求正常的话有2种做法: 方法一.设定为不验证证书和host. 在执行curl_exec()之前.设置option $ch = curl_init(); ...... curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 方法二.设定一个正确的证书. 本地ssl判别证书太旧,导致链接报错ssl

php curl模拟post请求提交数据

最近在做校园图书馆图书信息的采集程序,既然是图书馆图书的采集,肯定有提交搜索的页面,无非是post提交,让我想到了curl模拟提交,首先通过firebug进行抓包查询下post提交后的格式如下: txtWxlx=CN&hidWxlx=spanCNLx&txtPY=HZ&txtTm=%D2%F4%C0%D6&txtLx=%25&txtSearchType=1&nMaxCount=100&nSetPageSize=10&cSortFld=%D5%

用curl获取https请求

今天一个同事反映,使用curl发起https请求的时候报错:"SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed" 很明显,验证证书的时候出现了问题. 使用curl如果想发起的https请求正常的话有2种做法: 方法一.设定为不验证证书和host.

php curl模拟post请求提交数据样例总结

在php中要模拟post请求数据提交我们会使用到curl函数,以下我来给大家举几个curl模拟post请求提交数据样例有须要的朋友可參考參考.注意:curl函数在php中默认是不被支持的,假设须要使用curl函数我们需在改一改 在php中要模拟post请求数据提交我们会使用到curl函数,以下我来给大家举几个curl模拟post请求提交数据样例有须要的朋友可參考參考. 注意:curl函数在php中默认是不被支持的,假设须要使用curl函数我们需在改一改你的php.ini文件的设置,找到php_c

php curl模拟post请求的例子

curl 在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考. 注意:curl函数在php中默认是不被支持的,如果需要使用curl函数我们需在改一改你的php.ini文件的设置,找到php_curl.dll去掉前面的";"就行了 例子1 <?php$uri = "http://tanteng.duapp.com/test.php";// 参数数组$data = array

php curl模拟post请求提交数据例子总结

php curl模拟post请求提交数据例子总结 [导读] 在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考.注意:curl函数在php中默认是不被支持的,如果需要使用curl函数我们需在改一改 在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举几个curl模拟post请求提交数据例子有需要的朋友可参考参考. 注意:curl函数在php中默认是不被支持的,如果需要使用curl函

php curl 模拟get请求 并设置header

1. 模拟get请求文件 test_get.php <?phperror_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);function http_get($url){    $headers[] = "Content-type: application/x-www-form-urlencoded";    $headers[] = "Zoomkey-Auth-Token: 9CD0F0F60AFDF00&qu

CURL模拟POST请求实例

我们都知道可以通过表单的POST方法来提交数据给服务器,如图: 然后,testPost.php的代码比较简单.只是将接受到的内容打印. 得到这样的结果: 但是,我们能不能通过其他方式来提交数据给到testPost.php呢.是可以的!那就是使用CURL模拟POST提交数据.文件(curlPost.php)代码如图: 最后,我们来访问curlPost.php,也是可以得到相同的数据: