0

私はこのURLを打っています:

http://www.google.co.uk/search?q=online stores uk&hl=en&cr=countryUK%7CcountryGB&as_qdr=all&tbs=ctr:countryUK

基本的に私はppcUrlsを取得しますが、プロキシがなくても完全に機能します。

しかし、インターネットで利用できるプロキシを使おうとすると、次のようになります。

http://proxy-list.org/en/index.php?pp=3128&pt=any&pc=any&ps=any&submit=Filter+Proxy

上記のリンクはまったく開きません:|、Internet Explorerでipzを確認して開きましたが、ここHTTPWEBREQUESTで、503サーバーが使用できなくなったり、リダイレクトが多すぎたりすることがあります

リンクはどのIPでも開きません。

なにか提案を ?以下は私のHTML関数の取得です。

   public string getHtml(string url, string proxytmp)
    {
        string responseData = "";
        try
        {


            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Accept = "*/*";
            request.AllowAutoRedirect = true;
            request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
            request.Timeout = 60000;
            request.Method = "GET";

            if (proxies.Count > 0)
            {
                try
                {
                    int customIP = 0;
                    int port = 0;
                    string ip = string.Empty;

                    string[] splitter = proxytmp.Split(':');
                    if (splitter.Length > 0)
                    {

                        ip = splitter[0].ToString();
                        port = Convert.ToInt32(splitter[1].ToString());
                    }

                    WebProxy proxy = new WebProxy(ip, port);
                    request.Proxy = proxy;

                }
                catch (Exception exp)
                {

                }
            }

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (response.StatusCode == HttpStatusCode.OK)
            {
                Stream responseStream = response.GetResponseStream();
                StreamReader myStreamReader = new StreamReader(responseStream);
                responseData = myStreamReader.ReadToEnd();
            }
            response.Close();


        }
          catch (System.Exception e)
        {
            responseData = e.ToString();
        }

        return responseData;

    }

アップデート

Internet Explorerで同じプロキシを使用するとURLが開くので、方法が必要ですが、理解できません。

ありがとうございました

4

1 に答える 1

0

私の推測では、プロキシが特定の性質の着信接続をブロックしているため、さまざまな問題が発生しているため、これらのチェックは本質的に複雑であるか、User-Agent を有効なブラウザに設定するのと同じくらい簡単である可能性があります..プロキシが他に何を確認できるかわかりません。ブラウザを使用してリクエストを行い、それに応じて C# コードを変更するときに、作成されたリクエスト オブジェクト (リファラー、ポートなど) を確認することをお勧めします。

頑張ってください、それがあなたにとってどのように機能するか教えてください。

于 2012-06-24T19:19:09.197 に答える