我有一个简单的 whois 脚本
if($conn = fsockopen ($whois_server, 43)) {
fputs($conn, $domain."\r\n");
while(!feof($conn)) {
$output .= fgets($conn, 128);
}
fclose($conn);
return $output;
}
$whois_server = whois.afilias.info;//信息域的whois服务器
但我想通过代理运行。所以我需要连接到代理 -> 然后连接到 whois 服务器 -> 然后发出请求。是这样的吗?
$fp = fsockopen($ip,$port);
fputs($fp, "CONNECT $whois_server:43\r\n $domain\r\n");
但是还是不行,不知道第二个连接对不对。
最佳答案
将您的请求发送到代理应该做您喜欢的事情:
<?php
$proxy = "1.2.3.4"; // proxy
$port = 8080; // proxy port
$fp = fsockopen($proxy,$port); // connect to proxy
fputs($fp, "CONNECT $whois_server:43\r\n $domain\r\n");
$data="";
while (!feof($fp)) $data.=fgets($fp,1024);
fclose($fp);
var_dump($data);
?>
与其这样做,我建议您结合使用 CURL:
curl_setopt($ch, CURLOPT_PROXY, 1.2.3.4);
关于php - 将 fsockopen 与代理一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10886778/