gpt4 book ai didi

php - file_get_contents 在 HTTP 下工作但在 HTTPS 下不工作

转载 作者:可可西里 更新时间:2023-11-01 17:02:23 29 4
gpt4 key购买 nike

$newLogUrl = SERVER URL PATH
$opt = array('http' => array(
'method' => "POST",
'header' => 'Content-type: application/json',
'content' => $jsonCredenObj,
'timeout' => 4));
$context = stream_context_create($opt);

$response = file_get_contents($newLogUrl,false,$context);

上面的代码在正常的 http 中工作,但在安全服务器 https 中不工作

错误

Warning: file_get_contents(): failed to open stream: HTTP request failed! HTTP/1.1 405 Method Not Allowed

最佳答案

405 方法不允许

The method specified in the Request-Line is not allowed for the resource identified by the Request-URI. The response MUST include an Allow header containing a list of valid methods for the requested resource. Also as MarcB mentioned , the corresponding URL you are connecting does not accept the POST method.

Source : www.w3.org

始终检查 header 的 URL 以查看它们接受的方法等。您可以为此使用 $http_response_header..

<?php
file_get_contents('http://thatremoteurl.com');
var_dump($http_response_header);

使用 HTTPs URL

您需要在 PHP.ini 上启用 openssl 扩展。

打开您的 PHP.ini 并检查此行 ;extension=php_openssl.dll 。删除它之前的分号并保存您的文件并重新启动您的网络服务器。

关于php - file_get_contents 在 HTTP 下工作但在 HTTPS 下不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21844913/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com