首页 > 解决方案 > 使用代理创建流时找不到套接字传输“http”

问题描述

我一直在向远程服务器发出 POST 请求,从该站点抓取数据,我一直在使用一些 3rd 方库。像 guzzle 和 Request HTTP 客户端(因为它很小但功能强大)用于在
远程站点上发出 POST 请求,但由于一些问题,我决定使用 PHP 原生函数或 cURL。我比较了两者,发现 file_get_contents() 是我正在寻找的那个函数。然后我连接到 PHP Stream 来创建一个 POST 请求。我正在使用代理土地代理服务。实现代理后,我的小机器人卡住了(没有代理它之前工作正常),我收到一个错误 无法找到套接字传输“http” - 你在配置 PHP 时忘记启用它吗?在第 10 行的 C:\wamp64\www\Botoop1.1\lib\httpRequestInterface.php 这是流代码注意:我要获取的站点是基于 https 的

 $opts = array(
        'http' =>
        [
            'method'  => $method,
            'header'  => $this->headers,
            'content' => $this->postDataToHttpBuildQuery($postData),
            'proxy'   => 'http://FV0JDn87s9i0hWU:IbPsPE9Tofxl7MV@server.proxyland.io:9090',
            'request_fulluri' => true
            
        ],
        'ssl' =>
        [
            "verify_peer" => "false", 
            "verify_peer_name" => "false"
        ]

在此处更新:通过删除 tcp:// 警告消息已消失。

标签: phpstreamopensslhttp-postfile-get-contents

解决方案


推荐阅读