2013-07-03 106 views
1

我正在開發一些API進行測試,並且在製作webrequest時,特別是在檢索web響應時,我遇到了問題。 我使用這個代碼:解碼響應c#

string request = HttpPost(「http://iunlocker.net/check_imei.php」,「ime_i = 013270000134001」);


public static string HttpPost(string URI, string Parameters) 
     { 
      try 
      { 
      System.Net.WebRequest req = System.Net.WebRequest.Create(URI); 
      req.ContentType = "application/x-www-form-urlencoded"; 
      req.Method = "POST"; 
      byte[] bytes = System.Text.Encoding.ASCII.GetBytes(Parameters); 
      req.ContentLength = bytes.Length; 
      System.IO.Stream os = req.GetRequestStream(); 
      os.Write(bytes, 0, bytes.Length); 
      os.Close(); 

      System.Net.WebResponse resp= req.GetResponse(); 

      if (resp == null) return null; 
      System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream()); 
      return sr.ReadToEnd().Trim(); 
      } 
      catch (Exception ex) { } 
      return null;  
     } 

在調用該網站是一個例子,因爲這個跟其他的網站,我不能正確檢索結果。我收到一個異常「錯誤403」

任何人都可以幫助我告訴我可能做錯了什麼?

我認爲問題出在編碼/解碼上 - 實際上使用Fiddler它問我是否想在看到文本之前解碼 - 但是用另一個網站作爲例子,我收到了來自Fiddler的相同消息,但是我可以檢索沒有問題的迴應。

在此先感謝。

+0

http://stackoverflow.com/questions/10860732/http-response-filter-cant-decode-the-response-bytes-the-second-time –

回答

1

HTTP 403錯誤的意思是「訪問被禁止」。目的網站因其自身原因拒絕履行您的請求。

鑑於這個特定的網站http://iunlocker.net/,我會冒險猜測它可能正在檢查HTTP_REFERER。換句話說,它拒絕履行你的請求,因爲它知道它不是來自查看錶單的瀏覽器。

[編輯]觀看從

curl --form ime_i=013270000134001 -i http://iunlocker.net/check_imei.php 

響應我可以看到立即響應被設置cookie和重定向之後。

HTTP/1.1 307 Temporary Redirect 
Server: nginx 
Date: Wed, 03 Jul 2013 04:00:27 GMT 
Content-Type: text/html 
Content-Length: 180 
Connection: keep-alive 
Set-Cookie: PMBC=35e9e4cd3a7f9d50e7f3bb39d43750d1; path=/ 
Location: http://iunlocker.net/check_imei.php?pmtry=1 

<html> 
<head><title>307 Temporary Redirect</title></head> 
<body bgcolor="white"> 
<center><h1>307 Temporary Redirect</h1></center> 
<hr><center>nginx</center> 
</body> 
</html> 

本網站不希望你刮掉它;如果你想打敗這個,你將不得不使用它的cookies。

+0

感謝您的幫助,本網站只是一個例子,因爲我經常發現這種類型的保護網站,我真的很想知道這種方法如何工作,以及如何正確地檢索數據,可能會提高我網站的安全級別。 – user2544906

+0

感謝您的幫助,這個網站只是一個例子,因爲我經常發現這種類型的保護網站,我真的很想知道這種方法如何工作,以及如何正確回收數據,可能是爲了提高我網站的安全級別。我需要嚴格使用cookies?我可以自己學習如何使用這個,但你能幫助我更好嗎?我怎樣才能找到這個烹飪的價值,而不使用瀏覽器? – user2544906

0

http://en.wikipedia.org/wiki/HTTP_403 - Web服務器拒絕您訪問該URL。

也許您正在使用的IP地址不允許訪問該資源。檢查網絡服務器。

+0

我的Ip沒有問題,因爲使用瀏覽器製作httrequest我沒有問題的收到答覆。它不是第一次看到這種類型的保護,我會更好地理解它是如何工作的 – user2544906