我正在尝试测试一些SOCKS代理,并且当试图获得此代理的"ping"时间时,我正在寻找变量"connect_time".对于HTTP和HTTPS代理,这似乎工作正常,但不适用于SOCKS(SOCKS4或SOCKS5)代理,其中connect_time始终等于0(或几乎......)!
{
"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":""
}
Run Code Online (Sandbox Code Playgroud)
这是我的一段代码:
$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);
Run Code Online (Sandbox Code Playgroud)
当我尝试ping从我的计算机ping(带...)此代理时,我的ping时间约为50ms ...
curl或php有错误吗?你知道我可以检索正确的ping时间吗?
使用代理时,连接时间是代理第一次响应和结束身份验证之间的时间。所以基本上您的身份验证过程大约需要 0.00023 秒。这是相当合理的。
我不确定这是否是 cURL 的预期工作方式,因为看起来只有在 cURL 上使用代理时才会出现这种情况。
我认为这是一个错误。
| 归档时间: |
|
| 查看次数: |
617 次 |
| 最近记录: |