0

プロキシを使用するように.NETアプリを構成しようとしています。私のソースはC#ですが、C++を介してCURLを学習しました。私の質問は、SOCKのIPとポートをどこに置くかです。ドキュメントを調べましたが、表示されませんでした。それが私にこれらの問題を引き起こしていると私は信じています。

このコードを実行すると、文字通りタイムアウトし、ヘッダー関数やライター関数を呼び出さなくなります。最初の2つのcurlopt行(2つのプロキシ行)をコメントアウトすると、コードは問題なく実行されます。

Firefoxでは、httpプロキシとSOCKホストを別々に設定しました。これらは異なる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 に答える