我需要發送一段文本到HTTP服務器。我需要知道已經成功發送的確切數量,而不是發送到強制門戶網站等。但由於HTTP服務器的一些限制,我確定的最好辦法是確保返回的HTTP狀態代碼爲200.如何獲取WinPhone WebClient返回的HTTP狀態碼?
如何獲取從服務器返回的HTTP狀態代碼?
這是我當前的代碼:
WebClient client = new WebClient();
client.Headers["Content-Type"] = "text/xml";
client.Encoding = Encoding.UTF8;
bool? result=null;
try
{
client.UploadStringAsync(server, "POST", data);
client.UploadStringCompleted += (s, e) =>
{
result=e.Error == null;
};
}
catch { }
目前當服務器返回一個400-500錯誤代碼e.Error
將被設置,但如果服務器返回300系列的HTTP狀態代碼。
問:請問您的服務器返回正確的HTTP代碼? e.Result包含實際響應 – AFD
@ADNow e.Result目前將爲空*如果*成功。 200狀態碼的唯一標誌。我們正在嘗試檢測,但是如果手機位於強制門戶內部,但會重定向所有流量 – Earlz
我認爲WebClient已經過簡化。你可以深入下潛嗎?如果你使用HttpWebRequest,你可以得到狀態代碼var Response = we.Response作爲HttpWebResponse; var code = response.StatusCode; – AFD