2011-11-23 76 views
1

我想知道爲什麼我的HTTP請求返回響應500服務器內部錯誤。C#HttpWebRequest返回500內部錯誤

我用這個C#代碼

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://svabyss.66ghz.com/getmsg.php"); 
req.ContentLength = ("receiver=" + b.ToString() + "&PHPSESSID=" + _SESSIONID).Length; 
req.ContentType = "application/x-www-form-urlencoded"; 
req.Method = "POST"; 
req.KeepAlive = true; 
req.CookieContainer = new CookieContainer(); 
req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"; 
req.Headers[HttpRequestHeader.Pragma] = "cache"; 
req.UseDefaultCredentials = true; 
req.Credentials = CredentialCache.DefaultNetworkCredentials; 
req.PreAuthenticate = true; 
req.Proxy = new WebProxy("http://svabyss.66ghz.com:80", true); 
StreamWriter writer = new StreamWriter(req.GetRequestStream()); 
writer.Write("receiver=" + b.ToString() + "&PHPSESSID=" + _SESSIONID); 
writer.Flush(); 
writer.Dispose(); 
try 
{ 
    HttpWebResponse response = (HttpWebResponse)req.GetResponse(); 
    StreamReader reader = new StreamReader(response.GetResponseStream()); 
    OperationCompleted(new SVWorkerEventArgs("GET|" + b.ToString(), reader.ReadToEnd())); 
    response.Close(); 
    reader.Dispose(); 
} 
catch (WebException ex) 
{ 
    StreamReader str = new StreamReader(ex.Response.GetResponseStream()); 
    string err = str.ReadToEnd(); 
} 

我不知道至極頭,我錯過。任何幫助將是偉大的!

感謝..

問題修正

我收到通過由服務器返回的錯誤消息的回覆。錯誤信息實際上是我想要的結果。

現在,我不在乎什麼服務器回覆我。閹了404或505,返回的錯誤信息是我想要的..

謝謝你們:)

+1

您是否嘗試過沒有'Proxy'? – dtb

+0

你爲什麼要指定所有這些設置? –

+0

我的第一個代碼只是 'req.ContentType =「應用/的X WWW的形式進行了urlencoded」;' 只有這頭值我設置,它的返回相同的錯誤 –

回答

1

,因爲服務器(而不是客戶端)發生內部錯誤500錯誤代碼返回。要找出錯誤是什麼,您需要訪問服務器的日誌,或者需要詢問有權訪問的人員。

它是完全可能的錯誤是由您的代碼中的某些內容引起的,但不知道錯誤在另一端是什麼,您無法確定。它可以很容易地在自己的代碼的東西,或者他們DATABSE連接等

1

我建議你請求一個瀏覽器在運行小提琴手: http://www.fiddler2.com/fiddler2/

看看那裏使用的標題。

+0

+1的小提琴手,發現它可以對我有用。 –

+0

'POST http://svabyss.66ghz.com/getmsg.php?receiver=putra HTTP/1.1' 'Content-Type:application/x-www-form-urlencoded' 'User-Agent:abyss' '主機:svabyss.66ghz.com' '的Content-Length:42' '期望值:100-continue' 'PHPSESSID = 119f0d7a53a2d8e30282701d5ca856bd' 那是提琴手頭請求RAW。我沒有任何想法發生了什麼.. –

+0

你有目標網頁的控制權?還是它由別人擁有?另外,我會嘗試在WebRequest.Create(「http://svabyss.66ghz.com/getmsg.php」)中追加查詢字符串; –

相關問題