PHP CURL HTTPS POST

PHP CURL HTTPS POST


function vpost($url,$data){ // 模拟提交数据函数
    $curl =
curl_init(); // 启动一个CURL会话
    curl_setopt($curl, CURLOPT_URL,
$url); // 要访问的地址
    curl_setopt($curl,
CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
   
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); //
从证书中检查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_USERAGENT,
$_SERVER[‘HTTP_USER_AGENT‘]); // 模拟用户使用的浏览器
   
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
   
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
   
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
   
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); //
Post提交的数据包
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); //
设置超时限制防止死循环
    curl_setopt($curl, CURLOPT_HEADER, 0); //
显示返回的Header区域内容
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,
1); // 获取的信息以文件流的形式返回
    $tmpInfo = curl_exec($curl); //
执行操作
    if (curl_errno($curl))
{
       echo
‘Errno‘.curl_error($curl);//捕抓异常
    }
   
curl_close($curl); // 关闭CURL会话
    return $tmpInfo; //
返回数据
}

$url = "https://xxx.xxx.xxx/xxx";
$data ="a=b&c=d&e=f&g=". urlencode(‘全仔‘);;
$result =
vpost($url,$data);

PHP CURL HTTPS POST,布布扣,bubuko.com

时间: 2024-12-30 10:20:29

PHP CURL HTTPS POST的相关文章

解决PHP curl https时error 77(Problem with reading the

解决PHP curl https时error 77(Problem with reading the SSL CA cert (path? access rights?)) 服务器环境为CentOS,php-fpm,使用curl一个https站时失败,打开curl_error,捕获错误:Problem with reading the SSL CA cert (path? access rights?) 解决方案:1. sudo yum install ca-certificates (无论有没

Curl https 访问

如果访问https的网页,出现: curl: (60) SSL certificate problem: unable to get local issuer certificate 将 将 CURLOPT_SSL_VERIFYPEER 设置为 false,将 CURLOPT_SSL_VERIFYHOST 设置为 false. 即可解决.代码如下:<?php$cURL = curl_init();$url  = 'http://www.51-n.com/';curl_setopt_array( 

解决PHP curl https时error 77(Problem with reading the SSL CA cert (path? access rights?))

服务器环境为CentOS,php-fpm,使用curl一个https站时失败,打开curl_error,捕获错误:Problem with reading the SSL CA cert (path? access rights?) 解决方案:1. sudo yum install ca-certificates (无论有没有,安装确认一下) 2. 重启php-fpm,这步比较重要,更改底层的东西时一定要重启一下 3. curl时设置:curl_setopt($ch, CURLOPT_SSL_V

使用curl,libcurl访问Https

编译curl,libcurl 下载curl源码(git clone https://github.com/curl/curl),在目录curl\winbuild\BUILD.WINDOWS.txt文件中,详细介绍了使用nmake编译windows下curl及libcurl库的相关命令,摘录如下: nmake /f Makefile.vc mode=<static or dll> <options> where <options> is one or many of: V

PHP:CURL分别以GET、POST方式请求HTTPS协议接口api

1.curl以GET方式请求https协议接口 //注意:这里的$url已经包含参数了,不带参数你自己处理哦GET很简单 function curl_get_https($url){ $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1)

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

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

python error: curl: (1) Protocol &quot;&#39;https&quot; not supported or disabled in libcurl

python 调用curl访问一个网页时,出现error: curl: (1) Protocol "'https" not supported or disabled in libcurl 控制台直接curl xxx是ok的 output = subprocess.check_output(["curl","https://stackoverflow.com/questions/6884669/curl-1-protocol-https-not-suppo

curl分别以get,post方式请求https协议接口api

1.curl以GET方式请求https协议接口 //注意:这里的$url已经包含参数了,不带参数你自己处理哦GET很简单 function curl_get_https($url){ $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1)

PHP如何抓取https内容?记录一下。

PHP里做一般的获取内容时,用自带的file_get_contents()函数基本就足够了.当然,这个函数只能抓一些简单的数据,如果是遇到需要登录的页面,就不行了,而且效率及稳定性也不是很强.所以要是有特殊需求的话,还是用curl吧.不仅仅速度快,而且非常稳定,基本上用curl抓取失败的几率很小. 而且今天在抓优酷视频API接口中的信息时,发现了一个问题,由于优酷API的url请求是https安全协议,用file_get_contents()函数竟然无法获取到数据,然后用curl写了个代替函数,