php - 将 fsockopen 与代理一起使用

标签 php proxy fsockopen whois

我有一个简单的 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/

相关文章:

php - 带有 CSS 工具提示的 HTML5 (php) 显示远离超链接

php - 如何将音频文件嵌入php网站

.net - .NET 的 FTP 客户端类

linux - 使用 cURL 执行 HTTP 请求(使用 PROXY)

php - 如何在 PHP 中将 fsockopen(或兼容)与 SOCKS 代理一起使用?

php - magento成功页面变量

php自定义错误处理程序如何在生产中打印错误?

scala - 在 Play 框架中代理请求

php - 使用 php 从给定的 URL 下载文件,通过传递用户名和密码进行 http 身份验证

php - 使用 fsockopen 上传多个文件并发布变量