php - 在 stream_context_create 上更改 curl
问题描述
请帮助我使用 stream_context_create 获取数据。使用 curl 工作:
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_CIPHER_LIST, 'ecdhe_rsa_aes_128_gcm_sha_256');
curl_setopt($curl, CURLOPT_VERBOSE, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$out = curl_exec($curl);
$curlError = curl_error($curl);
$result = json_decode($out, true);
curl_close($curl);
我试试这个:
$opts = array(
'ssl' => array(
'verify_peer' => false,
'verify_peername' => false
),
'http' => array(
'method' => 'GET',
'header' =>
'Content-Type: application/json'
)
);
$context = stream_context_create($opts);
$result = file_get_contents('$url', false, $context);
var_dump($result);
但是弄错了。我的代码有什么问题?
解决方案
我得到了决定:
$opts = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
),
'http' => array(
'timeout' => 5,
'method' => 'GET',
'header' =>
'Content-type: Content-type: application/json',
'ignore_errors' => true,
'max_redirects' => 0
)
);
$context = stream_context_create($opts);
$out = file_get_contents($url, false, $context);
$result = json_decode($out, true);
推荐阅读
- docker - 如何在 docker-compose 中挂载单个文件
- php - 由于权限,无法将文件上传到服务器
- azure-aks - dapr 自托管应用程序可以调用托管在 kubernetes 上的远程 dapr 服务吗?
- reactjs - 数据更改后 FlatList 无法正确显示数据
- python - 将 Lambda 变量传递给 Glue 脚本 AWS
- python - 为现有用户定义查看或修改其他用户的权限
- python - 如何在多个数据库中正确使用 scoped_session?
- javascript - 将 2 个数组组合成一个新字符串
- c++ - 如何访问 std::queue 数据结构的成员元素?
- eclipse - 为什么我的 Eclipse IDE 显示启动错误?