gpt4 book ai didi

PHP fatal error : Uncaught HTTP_Request2_ConnectionException: Unable to connect to tls://bingapis. azure-api.net:443

转载 作者:行者123 更新时间:2023-12-02 08:06:58 25 4
gpt4 key购买 nike

我正在编写第一个脚本以使用新的 Bing 搜索 API,但不断收到错误消息。根据我的研究,它可能与证书有关,但我不知道在哪里寻找解决方案。我使用 Centos 6 和 7 服务器,出现相同的错误结果。以下是错误:

PHP Fatal error:  Uncaught HTTP_Request2_ConnectionException: Unable to connect to tls://bingapis.azure-api.net:443. Error: stream_socket_client(): unable to connect to tls://bingapis.azure-api.net:443 (Unknown error)
stream_socket_client(): Failed to enable crypto
stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /usr/share/pear/HTTP/Request2/Adapter/Socket.php on line 332
#0 /usr/share/pear/HTTP/Request2/Adapter/Socket.php(332): HTTP_Request2_SocketWrapper->__construct('tls://bingapis....', 10, Array)
#1 /usr/share/pear/HTTP/Request2/Adapter/Socket.php(128): HTTP_Request2_Adapter_Socket->connect()
#2 /usr/share/pear/HTTP/Request2.php(946): HTTP_Request2_Adapter_Socket->sendRequest(Object(HTTP_Request2))
#3 /usr/src/bingtest.php(33): HTTP_Request2->send()
#4 {main}
thrown in /usr/share/pear/HTTP/Request2/SocketWrapper.php on line 134

有人可以建议我接下来应该做什么来排除故障吗?我只是复制并粘贴以下示例代码:bing api sample php code

如下所示:(对于那些可能会问我是否插入了从 Bing 生成的 API key 的人,我只是不想将其包含在此处)

<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';

$request = new Http_Request2('https://bingapis.azure-api.net/api/v5/images/search');
$url = $request->getUrl();

$headers = array(
// Request headers
'Ocp-Apim-Subscription-Key' => '{subscription key}', // I did replace this with my key
);

$request->setHeader($headers);

$parameters = array(
// Request parameters
'q' => 'cats',
'count' => '10',
'offset' => '0',
'mkt' => 'en-us',
'safeSearch' => 'Moderate',
);

$url->setQueryVariables($parameters);

$request->setMethod(HTTP_Request2::METHOD_GET);

// Request body
$request->setBody("{body}");

try
{
$response = $request->send();
echo $response->getBody();
}
catch (HttpException $ex)
{
echo $ex;
}

?>

最佳答案

这是代码的修复,注释标记了更改

<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';

//$request = new Http_Request2('https://bingapis.azure-api.net/api/v5.0/images/search');
$request = new Http_Request2('https://api.cognitive.microsoft.com/bing/v5.0/images/search');
$url = $request->getUrl();

// ######### To Fix the SSL issue ###########
$request->setConfig(array(
'ssl_verify_peer' => FALSE,
'ssl_verify_host' => FALSE
));
// ########################################


$headers = array(
// Request headers
'Ocp-Apim-Subscription-Key' => 'fakeasdfasdfasdfasdfasdf',
);

$request->setHeader($headers);

$parameters = array(
// Request parameters
'q' => 'cats',
'count' => '10',
'offset' => '0',
'mkt' => 'en-us',
'safeSearch' => 'Moderate',
);

$url->setQueryVariables($parameters);

$request->setMethod(HTTP_Request2::METHOD_GET);

// Request body
$request->setBody("{body}");

try
{
$response = $request->send();
echo $response->getBody();
}
catch (HttpException $ex)
{
echo $ex;
}

?>

关于PHP fatal error : Uncaught HTTP_Request2_ConnectionException: Unable to connect to tls://bingapis. azure-api.net:443,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38251432/

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