【发布时间】:2017-10-01 02:44:31
【问题描述】:
大家好,我是一个在 C#/.Net 中处理 HTTP 请求的新手,我希望得到一些关于正确命名空间或类的提示和建议,这些提示和建议可以让 HTTP 请求的处理变得更容易。获取、发布等 我遇到过一些,例如 HTTPrequest 类和 HTTP.WebRequest,但我不知道实际使用哪个,欢迎提出任何建议!
【问题讨论】:
大家好,我是一个在 C#/.Net 中处理 HTTP 请求的新手,我希望得到一些关于正确命名空间或类的提示和建议,这些提示和建议可以让 HTTP 请求的处理变得更容易。获取、发布等 我遇到过一些,例如 HTTPrequest 类和 HTTP.WebRequest,但我不知道实际使用哪个,欢迎提出任何建议!
【问题讨论】:
简短的回答是您必须使用HttpWebRequest 来发出请求并使用HttpWebResponse 来获得响应。但这可能无法解决您的问题,因为发出 HTTP 请求的配置因情况而异。例如,标头、内容类型和接受是您必须根据您的方法(GET、POST、PUT、PATCH、DELETE)和您正在与之通信的 API 关注的参数。
例如,假设您要发送和接收短信,您应该遵循以下内容:
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("URL");
webRequest.ContentType = "text/plain;charset=UTF-8";
webRequest.Accept = "text/plain;charset=UTF-8";
webRequest.Method = "POST";
using (StreamWriter requestStream = new StreamWriter(webRequest.GetRequestStream())) {
requestStream.WriteLine("Hello");
}
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
using (StreamReader responseStream = new StreamReader(webResponse.GetResponseStream())) {
Console.WriteLine(responseStream.ReadToEnd());
}
您必须记住,您的请求类型 (ContentType) 或响应类型 (Accept) 可能采用不同的格式,例如 XML 或 JSON 甚至是 Stream,您必须为您的案例找到正确的设置。您可能还需要在请求中添加自定义 HTML 标头。
【讨论】: