1
按照這個問題,我POST
JSON到http,但我沒有得到任何輸出,當我使用GET
。我試圖POST
json然後關閉流。我不需要關心答覆。要檢查我的POST
是否正常工作,我寫了GET
。HttpWebRequest不發帖
以下是我的代碼POST
。
var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost:1234/xxxxx/xxxx");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string eventData = "temp string";
string jsonEvent = JsonConvert.SerializeObject(eventData, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.Indented });
streamWriter.Write(jsonEvent);
}
var httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); //getting "The remote server returned an error:" here
using (var streamReader = new StreamReader(httpWebResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
下面是我的代碼爲GET
,我從msdn獲得。
WebRequest request = WebRequest.Create("http://localhost:1234/xxxxx/xxxx");
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
reader.Close();
response.Close();
你的意思是我需要在'POST'中添加響應嗎? – active92
@ active92:我不知道你的意思 - 你的代碼是* client *代碼。這不是由你來添加一個響應。但在調用'GetRespose()'之前,它不會發出請求。服務器返回一個空的響應主體很好。 –
我已經添加了響應代碼,但它給了我一個錯誤'遠程服務器返回了一個錯誤:' – active92