我正在尝试测试一些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":"" }
这是我的一段代码:
$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时间约为50ms ...
curl或php有错误吗?你知道我可以检索正确的ping时间吗?