编程语言
首页 > 编程语言> > 如何使用PHP Http_Request2()发出https请求

如何使用PHP Http_Request2()发出https请求

作者:互联网

我想使用pear http_request2($url)类发出https请求.
我能够发出http请求但不能https.并且该网站便于http和https.服务器响应https没有问题.

    require 'HTTP/Request2.php';
    $url = 'https://collegedb2.ferryfair.com';
    $r = new Http_Request2($url);
    $r->setMethod(HTTP_Request2::METHOD_POST);
    try {
        $response = $r->send();
    } catch (Exception $exc) {
        $es = $exc->getTraceAsString();
        $ets=$exc->__toString();
        $egc=$exc->getCode();
        $egl=$exc->getLine();
        $egm=$exc->getMessage();
        $egt=$exc->getTrace();
        $response = null;
    }
    $page = $response->getBody();
    echo $page;

这是错误消息:

$egm=(string) Unable to connect to ssl://collegedb2.ferryfair.com:443. Error: stream_socket_client(): unable to connect to ssl://collegedb2.ferryfair.com:443 (Unknown error)

解决方法:

禁用证书验证的评论对我来说很关键.

$request = new HTTP_Request2('https://someserver.com/somepath/something',
    HTTP_Request2::METHOD_POST);

$request->setConfig(array(
    'ssl_verify_peer'   => FALSE,
    'ssl_verify_host'   => FALSE
));

标签:php,https,pear,http-request
来源: https://codeday.me/bug/20190715/1470031.html