系列目录 【已更新最新开发文章,点击查看详细】
HttpWebRequest.Method属性,获取或设置请求的方法。用于联系 Internet 资源的请求方法。 默认值为 GET。
System.Net 命名空间下提供了 WebRequestMethods 类,该类包含了 Http、File、Ftp 三个类。如下:
1 namespace System.Net
2 {
3 /// <summary>
4 /// 容器类 <see cref="T:System.Net.WebRequestMethods.Ftp" />,
/// <see cref="T:System.Net.WebRequestMethods.File" />,
5 ///<see cref="T:System.Net.WebRequestMethods.Http" /> 类。
6 /// 无法继承此类
7 /// </summary>
8 public static class WebRequestMethods
9 {
10 /// <summary>表示可用于 HTTP 请求的 HTTP 协议方法的类型。</summary>
11 public static class Http
12 {
13 /// <summary>代表 HTTP GET 协议方法 </summary>
14 public const string Get = "GET";
15
16 /// <summary>表示与一个代理,它可以动态切换到隧道,如下所示的 SSL 隧道的情况下使用的 HTTP 连接协议方法。</summary>
17 public const string Connect = "CONNECT";
18
19 /// <summary>
20 /// 表示 HTTP Head 协议方法。
21 /// HEAD 方法等同于 GET 只是服务器仅在响应中,但不包括消息正文中返回消息头。
22 /// </summary>
23 public const string Head = "HEAD";
24
25 /// <summary>表示用来替换实体由 URI 标识的 HTTP PUT 协议方法。</summary>
26 public const string Put = "PUT";
27
28 /// <summary>表示用于将新实体添加作为发布到的 URI 的 HTTP POST 协议方法。</summary>
29 public const string Post = "POST";
30
31 /// <summary>
32 /// 表示在由请求统一资源标识符 (URI) 指定的位置创建一个新集合 (如页的集合) 的 HTTP MKCOL 请求。
33 /// </summary>
34 public const string MkCol = "MKCOL";
35 }
36
37 /// <summary>
38 /// 表示文件可用于文件请求的协议方法的类型。
39 /// 此类不能被继承。
40 /// </summary>
41 public static class File
42 {
43 /// <summary>表示用于从指定位置检索文件的文件时,变协议方法。</summary>
44 public const string DownloadFile = "GET";
45
46 /// <summary>表示用于将文件复制到指定位置的文件将放协议方法。</summary>
47 public const string UploadFile = "PUT";
48 }
49
50 /// <summary>
51 /// 表示可与一个 FTP 请求使用的 FTP 协议方法的类型。
52 /// 此类不能被继承。
53 /// </summary>
54 public static class Ftp
55 {
56 /// <summary>表示用于从 FTP 服务器下载文件的 FTP RETR 协议方法。</summary>
57 public const string DownloadFile = "RETR";
58
59 /// <summary>代表获取 FTP 服务器上的文件的简短列表的 FTP NLIST 协议方法。</summary>
60 public const string ListDirectory = "NLST";
61
62 /// <summary>表示将文件上载到 FTP 服务器的 FTP STOR 协议方法。</summary>
63 public const string UploadFile = "STOR";
64
65 /// <summary>表示用于删除 FTP 服务器上的文件的 FTP DELE 协议方法。</summary>
66 public const string DeleteFile = "DELE";
67
68 /// <summary>表示用于将文件附加到 FTP 服务器上的现有文件的 FTP APPE 协议方法。</summary>
69 public const string AppendFile = "APPE";
70
71 /// <summary>表示用于检索 FTP 服务器上的文件的大小的 FTP SIZE 协议方法。</summary>
72 public const string GetFileSize = "SIZE";
73
74 /// <summary>表示将具有唯一名称的文件上载到 FTP 服务器的 FTP STOU 协议。</summary>
75 public const string UploadFileWithUniqueName = "STOU";
76
77 /// <summary>表示 FTP MKD 协议方法在 FTP 服务器上创建一个目录。</summary>
78 public const string MakeDirectory = "MKD";
79
80 /// <summary>代表删除目录的 FTP RMD 协议方法。</summary>
81 public const string RemoveDirectory = "RMD";
82
83 /// <summary>代表获取 FTP 服务器上的文件的详细的列表的 FTP LIST 协议方法。</summary>
84 public const string ListDirectoryDetails = "LIST";
85
86 /// <summary>表示要用于从 FTP 服务器上的文件检索日期时间戳的 FTP MDTM 协议方法。</summary>
87 public const string GetDateTimestamp = "MDTM";
88
89 /// <summary>代表打印当前工作目录的名称的 FTP PWD 协议方法。</summary>
90 public const string PrintWorkingDirectory = "PWD";
91
92 /// <summary>表示重命名一个目录的 FTP RENAME 协议方法。</summary>
93 public const string Rename = "RENAME";
94 }
其中 Http 类,表示可与 HTTP 请求一起使用的 HTTP 协议方法的类型
Connect | 表示与代理一起使用的 HTTP CONNECT 协议方法,该代理可以动态切换到隧道,如 SSL 隧道的情况。 |
---|---|
Get | 表示一个 HTTP GET 协议方法。 |
Head | 表示一个 HTTP HEAD 协议方法。 除了服务器在响应中只返回消息头不返回消息体以外,HEAD 方法和 GET 是一样的。 |
MkCol | 表示一个 HTTP MKCOL 请求,该请求在请求 URI(统一资源标识符)指定的位置新建集合,如页的集合。 |
Post | 表示一个 HTTP POST 协议方法,该方法用于将新实体作为补充发送到某个 URI。 |
Put | 表示一个 HTTP PUT 协议方法,该方法用于替换 URI 标识的实体。 |
如果 ContentLength 属性设置为-1以外的任何值,则必须将 Method 属性设置为上载数据的协议属性。undefined
下面的代码示例设置Method属性设置为 POST。
1 // 设置为 'POST' 方式
2 myHttpWebRequest.Method = "POST";
3 Console.WriteLine ("\n请输入要发布到的数据 (http://www.contoso.com/codesnippets/next.asp) Uri :");
4
5 // 创建新的字符串对象以将数据发布到URL。
6 string inputData = Console.ReadLine ();
7
8
9 string postData = "firstone=" + inputData;
10 ASCIIEncoding encoding = new ASCIIEncoding ();
11 byte[] byte1 = encoding.GetBytes (postData);
12
13 // 设置要发布的数据的内容类型。
14 myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
15
16 // 设置要发布的字符串的内容长度。
17 myHttpWebRequest.ContentLength = byte1.Length;
18
19 Stream newStream = myHttpWebRequest.GetRequestStream ();
20
21 newStream.Write (byte1, 0, byte1.Length);
22 Console.WriteLine ("发送数据后“ContentLength”属性的值为 {0}", myHttpWebRequest.ContentLength);
23
24 // 关闭流对象。
25 newStream.Close ();
系列目录 【已更新最新开发文章,点击查看详细】