gpt4 book ai didi

php - 为什么我的 curl connect_time 总是等于 0?

转载 作者:可可西里 更新时间:2023-11-01 12:38:47 25 4
gpt4 key购买 nike

我正在尝试测试一些 SOCKS 代理,在尝试获取此代理的“ping”时间时,我正在寻找变量“connect_time”。对于 HTTP 和 HTTPS 代理,这似乎工作正常,但不适用于 connect_time 始终等于 0(或几乎...)的 SOCKS(SOCKS4 或 SOCKS5)代理!

{
"url":"XXX",
"content_type":"text/html",
"http_code":200,
"header_size":178,
"request_size":379,
"filetime":-1,
"ssl_verify_result":0,
"redirect_count":0,
"total_time":4.738683,
"namelookup_time":0.000021,
"connect_time":0.000023,
"pretransfer_time":0.000104,
"size_upload":140,
"size_download":51275,
"speed_download":10820,
"speed_upload":29,
"download_content_length":-1,
"upload_content_length":140,
"starttransfer_time":0.000149,
"redirect_time":0,
"certinfo":{
},
"redirect_url":""
}

这是我的一段代码:

$options = array(
CURLOPT_PROXY => $proxy->ip.':'.$proxy->port,
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_HEADER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Expect:'),
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_VERBOSE => FALSE,
CURLOPT_USERAGENT => 'XXX',
);

if ($proxy->type == 'https')
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
elseif ($proxy->type == 'socks4')
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
elseif ($proxy->type == 'socks5')
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);

当尝试从我的计算机 ping(使用 ping...)此代理时,我的 ping 时间约为 50 毫秒...

curl 或 php 有错误吗?您知道我可以检索正确的 ping 时间吗?

最佳答案

当使用代理时,连接时间是代理第一次响应和结束认证之间的时间。所以基本上你的身份验证过程大约需要 0.00023 秒。这是很有道理的。

我不确定这是否是 cURL 应该如何工作的预期方式,因为看起来只有在 cURL 上使用代理时才会出现这种情况。

我认为这是一个错误。

关于php - 为什么我的 curl connect_time 总是等于 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20453258/

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