swoole_http_client->__construct

最后更新于:2022-04-02 06:39:20

# swoole\_http\_client->\_\_construct [TOC] 构造方法,函数原型: ~~~ swoole_http_client->__construct(string $host, int port, bool $ssl = false); ~~~ * `$host`目标主机的IP地址,`$host`如果为域名底层需要进行一次DNS查询,这是阻塞IO,请使用`Swoole\Async::dnsLookup`实现异步非阻塞 * `$port`目标端口,`Http`一般为`80`端口,`Https`一般为`443`端口 * `$ssl`是否开启`TLS/SSL`隧道加密,`https`网站必须设置为`true` * `1.9.15`/`2.0.9`或更高版本增加了超时机制,默认超时时间为`500ms`,如果你需要请求外网`URL`请修改`timeout`为更大的数值 > 在`1.9.24`之后的版本,底层支持了自动异步解析域名,不再需要显式调用`swoole_async_dns_lookup`,详情见[/wiki/page/821.html](1.9.24异步客户端自动解析域名.md "异步客户端自动解析域名") > > `$ssl`需要依赖`openssl`,必须在编译swoole时启用`--enable-openssl` ## 使用示例 ~~~ $cli = new swoole_http_client('www.baidu.com', 80); $cli->setHeaders([ 'Host' => $domainName, "User-Agent" => 'Chrome/49.0.2587.3', 'Accept' => 'text/html,application/xhtml+xml,application/xml', 'Accept-Encoding' => 'gzip', ]); $cli->get('/index.html', function ($cli) { echo "Length: " . strlen($cli->body) . "\n"; echo $cli->body; }); ~~~
';