1

我需要做一個GET請求頭(這是requeriment),但我收到協議衝突異常。HttpWebRequest GET ProtocolViolationException WP7

這是我的代碼:

 System.Uri targetUri = new System.Uri("http://54.219.33.208:8080/wsrewards/consultaEstatusRewards"); 
     HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri); 
     request.Method = "GET"; 
     request.Headers["idUser"] = user; 
     request.Headers["auth"] = autho; 
     request.BeginGetRequestStream(new AsyncCallback(ReadWebRequestStreamCallbackConsultaEstatusRewards), request); 

回答

1

MSDN上BeginGetRequestStream說:開始一個Stream對象的異步請求使用寫入數據。

使用GET方法,您無法寫入任何要請求的數據。 BeginGetRequestStream僅用於例如POST和PUT方法。

您應該用BeginGetResponse替換BeginGetRequestStream,然後調用HttpWebResponse.GetResponseStream()響應對象的方法來訪問響應流。

+0

還有一件事。您應該考慮使用異步等待的代碼。與例如這些異步回調相比,這些異步回調更難以調試。 'var response =(HttpWebResponse)await request.GetResponseAsync();' – Soonts

+0

謝謝!!!解決了問題! –

+0

不客氣。 – Soonts

相關問題