系列目录     【已更新最新开发文章,点击查看详细】
<https://www.cnblogs.com/SavionZhang/p/11422481.html>
获取或设置请求的 Content-type HTTP 标头的值。默认值为null。

常见的请求内容类型为以下几种:
1 /// <summary> 2 /// HTTP 内容类型(Content-Type) 3 /// </summary> 4 public
class HttpContentType 5 { 6 /// <summary> 7 /// 资源类型:普通文本 8 /// </summary>
9 public const string TEXT_PLAIN = "text/plain"; 10 11 /// <summary> 12 ///
资源类型:JSON字符串13 /// </summary> 14 public const string APPLICATION_JSON = "
application/json"; 15 16 /// <summary> 17 /// 资源类型:未知类型(数据流) 18 /// </summary>
19 public const string APPLICATION_OCTET_STREAM = "application/octet-stream"; 20
21 /// <summary> 22 /// 资源类型:表单数据(键值对) 23 /// </summary> 24 public const string
WWW_FORM_URLENCODED ="application/x-www-form-urlencoded"; 25 26 /// <summary> 27
/// 资源类型:表单数据(键值对)。编码方式为 gb2312 28 /// </summary> 29 public const string
WWW_FORM_URLENCODED_GB2312 ="application/x-www-form-urlencoded;charset=gb2312";
30 31 /// <summary> 32 /// 资源类型:表单数据(键值对)。编码方式为 utf-8 33 /// </summary> 34
public const string WWW_FORM_URLENCODED_UTF8 = "
application/x-www-form-urlencoded;charset=utf-8"; 35 36 /// <summary> 37 ///
资源类型:多分部数据38 /// </summary> 39 public const string MULTIPART_FORM_DATA = "
multipart/form-data"; 40 }
提交的时候可以说明编码的方式,用来使对方服务器能够正确的解析。

该ContentType的
<https://docs.microsoft.com/en-us/dotnet/api/system.net.httpwebrequest.contenttype?view=netframework-4.8>
属性包含请求的媒体类型。分配给ContentType
<https://docs.microsoft.com/en-us/dotnet/api/system.net.httpwebrequest.contenttype?view=netframework-4.8>
属性的值在请求发送Content-typeHTTP标头时替换任何现有内容。

要清除Content-typeHTTP标头,请将ContentType
<https://docs.microsoft.com/en-us/dotnet/api/system.net.httpwebrequest.contenttype?view=netframework-4.8>
属性设置为null。

此属性的值存储在WebHeaderCollection中。如果设置了WebHeaderCollection,则属性值将丢失。

 参考示例代码:
1 private HttpResult Request(string url, string data, string method, string
contentType) 2 { 3 HttpResult httpResult = new HttpResult(); 4 HttpWebRequest
httpWebRequest =null; 5 6 try 7 { 8 httpWebRequest = WebRequest.Create(url)
as HttpWebRequest; 9 httpWebRequest.Method = method; 10 httpWebRequest.Headers
= HeaderCollection; 11 httpWebRequest.CookieContainer = CookieContainer;
12 /*此属性的值存储在WebHeaderCollection中。如果设置了WebHeaderCollection,则属性值将丢失。 13
*所以放置在Headers 属性之后设置14 */ 15 httpWebRequest.ContentType = contentType; 16
httpWebRequest.UserAgent = _userAgent; 17 httpWebRequest.AllowAutoRedirect =
_allowAutoRedirect;18 httpWebRequest.ServicePoint.Expect100Continue = false; 19
20 if (data != null) 21 { 22 httpWebRequest.AllowWriteStreamBuffering = true;
23 using (Stream requestStream = httpWebRequest.GetRequestStream()) 24 { 25
requestStream.Write(EncodingType.GetBytes(data),0, data.Length); 26
requestStream.Flush();27 } 28 } 29 30 HttpWebResponse httpWebResponse =
httpWebRequest.GetResponse()as HttpWebResponse; 31 if (httpWebResponse != null)
32 { 33 GetResponse(ref httpResult, httpWebResponse); 34
httpWebResponse.Close();35 } 36 } 37 catch (WebException webException) 38 {
39 GetWebExceptionResponse(ref httpResult, webException); 40 } 41 catch
(Exception ex)42 { 43 GetExceptionResponse(ref httpResult, ex, method,
contentType);44 } 45 finally 46 { 47 if (httpWebRequest != null) 48 { 49
httpWebRequest.Abort();50 } 51 } 52 53 return httpResult; 54 }
 
系列目录     【已更新最新开发文章,点击查看详细】
<https://www.cnblogs.com/SavionZhang/p/11422481.html>