HttpWebRequest.Method属性,获取或设置请求的方法。用于联系 Internet 资源的请求方法。 默认值为 GET。

System.Net 命名空间下提供了 WebRequestMethods 类,该类包含了 Http、File、Ftp 三个类。如下:

 namespace System.Net
{
/// <summary>
/// 容器类 <see cref="T:System.Net.WebRequestMethods.Ftp" />,
/// <see cref="T:System.Net.WebRequestMethods.File" />,
///<see cref="T:System.Net.WebRequestMethods.Http" /> 类。
/// 无法继承此类
/// </summary>
public static class WebRequestMethods
{
/// <summary>表示可用于 HTTP 请求的 HTTP 协议方法的类型。</summary>
public static class Http
{
/// <summary>代表 HTTP GET 协议方法 </summary>
public const string Get = "GET"; /// <summary>表示与一个代理,它可以动态切换到隧道,如下所示的 SSL 隧道的情况下使用的 HTTP 连接协议方法。</summary>
public const string Connect = "CONNECT"; /// <summary>
/// 表示 HTTP Head 协议方法。
/// HEAD 方法等同于 GET 只是服务器仅在响应中,但不包括消息正文中返回消息头。
/// </summary>
public const string Head = "HEAD"; /// <summary>表示用来替换实体由 URI 标识的 HTTP PUT 协议方法。</summary>
public const string Put = "PUT"; /// <summary>表示用于将新实体添加作为发布到的 URI 的 HTTP POST 协议方法。</summary>
public const string Post = "POST"; /// <summary>
/// 表示在由请求统一资源标识符 (URI) 指定的位置创建一个新集合 (如页的集合) 的 HTTP MKCOL 请求。
/// </summary>
public const string MkCol = "MKCOL";
} /// <summary>
/// 表示文件可用于文件请求的协议方法的类型。
/// 此类不能被继承。
/// </summary>
public static class File
{
/// <summary>表示用于从指定位置检索文件的文件时,变协议方法。</summary>
public const string DownloadFile = "GET"; /// <summary>表示用于将文件复制到指定位置的文件将放协议方法。</summary>
public const string UploadFile = "PUT";
} /// <summary>
/// 表示可与一个 FTP 请求使用的 FTP 协议方法的类型。
/// 此类不能被继承。
/// </summary>
public static class Ftp
{
/// <summary>表示用于从 FTP 服务器下载文件的 FTP RETR 协议方法。</summary>
public const string DownloadFile = "RETR"; /// <summary>代表获取 FTP 服务器上的文件的简短列表的 FTP NLIST 协议方法。</summary>
public const string ListDirectory = "NLST"; /// <summary>表示将文件上载到 FTP 服务器的 FTP STOR 协议方法。</summary>
public const string UploadFile = "STOR"; /// <summary>表示用于删除 FTP 服务器上的文件的 FTP DELE 协议方法。</summary>
public const string DeleteFile = "DELE"; /// <summary>表示用于将文件附加到 FTP 服务器上的现有文件的 FTP APPE 协议方法。</summary>
public const string AppendFile = "APPE"; /// <summary>表示用于检索 FTP 服务器上的文件的大小的 FTP SIZE 协议方法。</summary>
public const string GetFileSize = "SIZE"; /// <summary>表示将具有唯一名称的文件上载到 FTP 服务器的 FTP STOU 协议。</summary>
public const string UploadFileWithUniqueName = "STOU"; /// <summary>表示 FTP MKD 协议方法在 FTP 服务器上创建一个目录。</summary>
public const string MakeDirectory = "MKD"; /// <summary>代表删除目录的 FTP RMD 协议方法。</summary>
public const string RemoveDirectory = "RMD"; /// <summary>代表获取 FTP 服务器上的文件的详细的列表的 FTP LIST 协议方法。</summary>
public const string ListDirectoryDetails = "LIST"; /// <summary>表示要用于从 FTP 服务器上的文件检索日期时间戳的 FTP MDTM 协议方法。</summary>
public const string GetDateTimestamp = "MDTM"; /// <summary>代表打印当前工作目录的名称的 FTP PWD 协议方法。</summary>
public const string PrintWorkingDirectory = "PWD"; /// <summary>表示重命名一个目录的 FTP RENAME 协议方法。</summary>
public const string Rename = "RENAME";
}

其中 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。

 // 设置为 'POST' 方式
myHttpWebRequest.Method = "POST";
Console.WriteLine ("\n请输入要发布到的数据 (http://www.contoso.com/codesnippets/next.asp) Uri :"); // 创建新的字符串对象以将数据发布到URL。
string inputData = Console.ReadLine (); string postData = "firstone=" + inputData;
ASCIIEncoding encoding = new ASCIIEncoding ();
byte[] byte1 = encoding.GetBytes (postData); // 设置要发布的数据的内容类型。
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded"; // 设置要发布的字符串的内容长度。
myHttpWebRequest.ContentLength = byte1.Length; Stream newStream = myHttpWebRequest.GetRequestStream (); newStream.Write (byte1, , byte1.Length);
Console.WriteLine ("发送数据后“ContentLength”属性的值为 {0}", myHttpWebRequest.ContentLength); // 关闭流对象。
newStream.Close ();

C# HTTP系列7 HttpWebRequest.Method属性的更多相关文章

  1. C# HTTP系列3 HttpWebRequest.ContentType属性

    系列目录     [已更新最新开发文章,点击查看详细] 获取或设置请求的 Content-type HTTP 标头的值.默认值为null. 常见的请求内容类型为以下几种: /// <summar ...

  2. HttpWebRequest.Method 属性

    public static void GetHead(string url) { var http = (HttpWebRequest)WebRequest.Create(url); http.Met ...

  3. C# HTTP系列4 HttpWebRequest.CookieContainer属性

    系列目录     [已更新最新开发文章,点击查看详细] HttpWebRequest.CookieContainer 获取或设置与此请求关联的 Cookie.默认情况下CookieContainer  ...

  4. C# HTTP系列5 HttpWebResponse.StatusCode属性

    系列目录     [已更新最新开发文章,点击查看详细] HttpWebResponse.StatusCode 属性获取响应的状态.对应 HttpStatusCode 枚举值之一. HttpStatus ...

  5. [转]Struts2理解--动态方法和method属性及通配符_默认Action

    众所周知,默认条件下,在浏览器输入indexAction!execute.action,便会执行indexAction类里的execute方法,这样虽然方便,但可能带来安全隐患,通过url可以执行Ac ...

  6. Struts2理解--动态方法和method属性及通配符_默认Action

    众所周知,默认条件下,在浏览器输入indexAction!execute.action,便会执行indexAction类里的execute方法,这样虽然方便,但可能带来安全隐患,通过url可以执行Ac ...

  7. 深入理解javascript函数系列第三篇——属性和方法

    × 目录 [1]属性 [2]方法 前面的话 函数是javascript中的特殊的对象,可以拥有属性和方法,就像普通的对象拥有属性和方法一样.甚至可以用Function()构造函数来创建新的函数对象.本 ...

  8. 上传图片HTML <form> 标签的 method 属性

    <!DOCTYPE HTML><html><body> <form action="/example/html5/demo_form.asp&quo ...

  9. httpWebRequest.ContentType 属性、值 类型用法

    httpWebRequest.ContentType 属性.值 类型用法 冰火战地 指定将数据回发到服务器时浏览器使用的编码类型.下边是说明: application/x-www-form-urlen ...

随机推荐

  1. Window权限维持(八):时间服务器

    Windows操作系统正在利用时间提供者体系结构,以便从网络中的其他网络设备或客户端获取准确的时间戳.时间提供者以DLL文件的形式实现,该文件位于System32文件夹中.Windows启动期间将启动 ...

  2. duba网址对firefox快捷方式的劫持

    直接删除 “驱动精灵” 即可. 等我 二进制安全 学好了,一定开发一种病毒专干这种劫持的,煞笔软件.

  3. [CrackMe]160个CrackMe之002

    吾爱破解专题汇总:[反汇编练习]160个CrackME索引目录1~160建议收藏备用 一.逆向分析之暴力破解 暴力破解,对于这种具有提示框的,很好定位. 定位好之后,爆破其跳转语句,就能达到破解目的. ...

  4. WPF通过不透明蒙板切割显示子控件

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/Backspace110/article/ ...

  5. .NET Core 使用NPOI读取Excel返回泛型List集合

    我是一名 ASP.NET 程序员,专注于 B/S 项目开发.累计文章阅读量超过一千万,我的博客主页地址:https://www.itsvse.com/blog_xzz.html 网上有很多关于npoi ...

  6. 元素增删事件DOMNodeInserted和DOMNodeRemoved

    监听元素变化的三种方法: 对于表单类型的控件,使用onchange事件最好. 使用DOMNodeInserted和DOMNodeRemoved事件 使用定时器定时检测(下策) 有时需要给一个class ...

  7. 以一道ctf学习python脚本

    今天做了省赛初赛的ctf比赛,过程真是忐忑,奋战了6个小时(本来是三个小时的,哈哈哈哈). 不说了! 不说了! 说多了都是泪~ 看题吧,题目就是一道流量分析题,里面有一段icmp包,icmp包的ttl ...

  8. 如何在一个ubuntu系统上搭建SVN版本控制工具

    有话说,由于公司项目部署需要,将Windows工程迁移到Linux,通过调查确定使用Ubuntu的Linux操作系统.那么如何快速搭建和Windows一样快捷方便的开发环境就很重要了.本文讲述如何在一 ...

  9. Innodb整体架构

    如下图展示了Innodb内存中和磁盘的结构: 内存中结构主要有如下几种: buffer pool change buffer adaptive hash index (自适应的hash索引) Log ...

  10. Python 安装cx_Oracle模块

    1.Python安装cx_Oracle模块需要安装Oracle,并在环境变量中添加Oracle的路径. 2.没有安装Oracle的需要下载一个oci.dll的文件,并把文件的路径添加到path中. 如 ...