0

我正在尝试将我的 .NET 应用程序配置为使用代理。我的源代码是 C#,但我通过 C++ 学习了 CURL。我的问题是我将 SOCK 的 IP 和端口放在哪里?我浏览了文档并没有看到它。我相信这就是造成我这些问题的原因。

当我运行此代码时,它会安静地超时并且不会调用我的标头函数或编写器函数。如果我注释掉前两个 curlopt 行(两个代理行)我的代码运行没有问题。

在 Firefox 中,我分别设置了 http 代理和 SOCKs 主机,它们是不同的 IP 和端口。我如何设置袜子部分,下面有虚拟代理设置,但我无法弄清楚袜子部分。

    static void Main(string[] args)
    {
        SeasideResearch.LibCurlNet.Curl.GlobalInit((int)SeasideResearch.LibCurlNet.CURLinitFlag.CURL_GLOBAL_ALL);
        var curl = new Easy();
        {
            curl.SetOpt(CURLoption.CURLOPT_PROXY, "http://127.0.0.1:1234");
            curl.SetOpt(CURLoption.CURLOPT_PROXYTYPE, CURLproxyType.CURLPROXY_SOCKS5);
            curl.SetOpt(CURLoption.CURLOPT_URL, "http://whatismyipaddress.com/ip-lookup");
            curl.SetOpt(CURLoption.CURLOPT_FOLLOWLOCATION, 1);
            curl.SetOpt(CURLoption.CURLOPT_USERAGENT, @"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2b5) Gecko/20091204 Firefox/3.6b5");
            curl.SetOpt(CURLoption.CURLOPT_HEADERFUNCTION, hf);
            curl.SetOpt(CURLoption.CURLOPT_HEADERDATA, data);
            curl.SetOpt(CURLoption.CURLOPT_WRITEFUNCTION, wf);
            curl.SetOpt(CURLoption.CURLOPT_WRITEDATA, sw);
            curl.SetOpt(CURLoption.CURLOPT_SSL_VERIFYPEER, 0);
            curl.Perform();
            var sz = sw.ToString();
            var myrealip = sz.IndexOf("12.34.56.78") !=-1; 
        }
        //Console.WriteLine(sz);
        SeasideResearch.LibCurlNet.Curl.GlobalCleanup();
    }
4

1 回答 1

2

据我所知,唯一可以将 SOCKS 代理的地址放入CURLOPT_PROXY. 您可以拥有 HTTP 代理或 SOCKS 代理,但不能同时拥有。

于 2011-01-15T09:49:49.633 回答