怎么用CURL向HTTPS发送请求并且获取返回值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用CURL向HTTPS发送请求并且获取返回值相关的知识,希望对你有一定的参考价值。

参考技术A

$header = array (
'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/33.0.1750.146 Safari/537.36'
);
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_TIMEOUT, 6);                // 设置超时6秒
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    // 跳过SSL
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, FALSE);    // 跳过SSL
curl_setopt ($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行
$content = curl_exec ( $ch );
if ($content == FALSE)
curl_error ( $ch );
return true;

// 关闭
curl_close ( $ch );


本回答被提问者采纳

php如何通过get方法发送http请求,并且得到返回的参数

就是我现在有两个参数A B 发送到www.example.com 对方服务器进行相应,随后返回给我某个参数C 我怎么通过get方式发送http请求,并且获取到对方返回的参数C呢?能否给些代码或者解释的详细一些,本人新手!多谢各位了

这是一个跨域访问问题,以前这种问题是比较复杂的。不过随着XML josn等等数据结构的应用
现在还是很好解决的 而且你的要求也不高 只是一个返回值的话 都用不到数据结构了 直接页面输出就好了
我写了两个简单的文件给你 里面的域名和文件名参数 你都可以自己调整 我测试是没问题的

//test.php
<?php
$ch = curl_init();

$str ='http://127.0.0.1/form.php?id=10';
curl_setopt($ch, CURLOPT_URL, $str);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec($ch);
var_dump( $output );
?>

//页面输出结果 string(2) "10"

//form.php 文件内容如下
<?php
$id = $_GET['id'];
echo $id;
?>追问

多谢了。请问https://的get方法一样吗?也可以这样用?我目前在使用oauth授权。用到了https的通讯方式。所以很苦恼- -!

追答

是一样的 oauth授权的话 新浪微博的API接口有用到 结果是用josn格式返回的 一般还需要转换成数组来用

参考技术A 1. 可以用curl函数或fsockopen() 与其他服务器通讯。当然也可以用file_get_contents() 简单一些但是有时候不好用。
2. 对方服务器返回json或xml,或简单的字符串
具体使用自己学习一下吧。

以上是关于怎么用CURL向HTTPS发送请求并且获取返回值的主要内容,如果未能解决你的问题,请参考以下文章

怎么用LINUX发送HTTP请求

PHP中怎样发送post请求并获取网页?

如何用Java向kafka发送json数据

客户端怎么使用httpclient向https服务器发送数据

向服务器发送请求时,如何查看 curl 生成的请求标头?

php使用curl模拟多线程发送请求