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 属性设置为上载数据的协议属性。
下面的代码示例设置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 ();
内容来源于网络如有侵权请私信删除
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!