2012-06-24 68 views
0

我打這個網址使用外部代理:無法在C#中的HttpWebRequest

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; 

    } 

UPDATE

的網址打開,當我使用相同的代理與Internet Explorer所以必須有一個way.But我不能弄明白。

謝謝

回答

0

我的猜測是有一定性質的代理阻止傳入的連接,這就是爲什麼你碰到的各種問題,這些檢查可能是性質複雜,也可能是由於設置簡單用戶代理到一個有效的瀏覽器..我不知道代理可以檢查什麼其他的東西,我建議你看看創建的請求對象(如Referrer,Port等),當你使用瀏覽器發出請求時並在你的C#代碼中做相應的修改。

祝你好運,讓我知道它是如何爲你工作的。

+0

但它確實爲http://www.google.co.uk工作,並獲得HTML但不是爲上述.. – confusedMind

+0

沒有運氣,我幾乎重複確切的使用小提琴手,但仍然沒有運氣。 – confusedMind

+0

運氣好嗎?我有同樣的問題。 – pfeds