C# HTTP系列7 HttpWebRequest.Method属性
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属性的更多相关文章
- C# HTTP系列3 HttpWebRequest.ContentType属性
系列目录 [已更新最新开发文章,点击查看详细] 获取或设置请求的 Content-type HTTP 标头的值.默认值为null. 常见的请求内容类型为以下几种: /// <summar ...
- HttpWebRequest.Method 属性
public static void GetHead(string url) { var http = (HttpWebRequest)WebRequest.Create(url); http.Met ...
- C# HTTP系列4 HttpWebRequest.CookieContainer属性
系列目录 [已更新最新开发文章,点击查看详细] HttpWebRequest.CookieContainer 获取或设置与此请求关联的 Cookie.默认情况下CookieContainer ...
- C# HTTP系列5 HttpWebResponse.StatusCode属性
系列目录 [已更新最新开发文章,点击查看详细] HttpWebResponse.StatusCode 属性获取响应的状态.对应 HttpStatusCode 枚举值之一. HttpStatus ...
- [转]Struts2理解--动态方法和method属性及通配符_默认Action
众所周知,默认条件下,在浏览器输入indexAction!execute.action,便会执行indexAction类里的execute方法,这样虽然方便,但可能带来安全隐患,通过url可以执行Ac ...
- Struts2理解--动态方法和method属性及通配符_默认Action
众所周知,默认条件下,在浏览器输入indexAction!execute.action,便会执行indexAction类里的execute方法,这样虽然方便,但可能带来安全隐患,通过url可以执行Ac ...
- 深入理解javascript函数系列第三篇——属性和方法
× 目录 [1]属性 [2]方法 前面的话 函数是javascript中的特殊的对象,可以拥有属性和方法,就像普通的对象拥有属性和方法一样.甚至可以用Function()构造函数来创建新的函数对象.本 ...
- 上传图片HTML <form> 标签的 method 属性
<!DOCTYPE HTML><html><body> <form action="/example/html5/demo_form.asp&quo ...
- httpWebRequest.ContentType 属性、值 类型用法
httpWebRequest.ContentType 属性.值 类型用法 冰火战地 指定将数据回发到服务器时浏览器使用的编码类型.下边是说明: application/x-www-form-urlen ...
随机推荐
- vue中使用Ajax(axios)、vue函数中this指向问题
Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求.Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中. axios中文文档库:http ...
- [Zabbix] 安装MySQL5.7, 部署Zabbix到CentOS 7日记
安装环境:CentOS7 64位,安装MySQL5.7 一.安装 MySQL 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads ...
- sso单点登录的入门(Session跨域、Spring-Session共享)
1.单点登录,就是多系统,单一位置登录,实现多系统同时登录的一种技术.单点登录一般是用于互相授信的系统,实现单一位置登录,全系统有效的. 区分与三方登录(第三方登录) ,三方登录:某系统,使用其他系统 ...
- navicat 连接 mysql 出现Client does not support authentication protocol requested by server解决方案
安装了navicat 和 mysql,结果最后在navicat中连接mysql时,出现了如下错误提示: Client does not support authentication protocol ...
- npm 查看全局安装模块
方法一: npm list -g --depth 0 方法二: 输入npm root -g 得到全局node_modules的地址 在任意文件夹输入此地址,便可查看所安模块 https://blog ...
- 在QT中使用FFmpeg库的部分报错问题
win32: LIBS += -L$$PWD/../ffmpeg-win32-dev/lib/ -lavutil win32: LIBS += -L$$PWD/../ffmpeg-win32-dev/ ...
- Leetcode 88:合并两个有序数组
Leetcode链接 : https://leetcode-cn.com/problems/merge-sorted-array/ 问题描述: 给定两个有序整数数组 nums1 和 nums2,将 n ...
- springboot读取自定义properties配置文件方法
1. 添加pom.xml依赖 <!-- springboot configuration依赖 --> <dependency> <groupId>org.sprin ...
- SpringBoot使用Hibernate,实现自动创建数据库表【博客数据库设计】
我们准备设计博客,那就要设计数据库. 我们可以使用Hibernate来自动生成数据库. 博客数据库的结构: 实体类: 博客 Blog 博客分类 Type 博客标签 Tag 博客评论 Comment 用 ...
- Python环境安装与基础语法(1)——计算机基础知识
Python安装 pip #包管理工具 pip install #安装包 pip list #查看包 IPython #增强的python shell,自动补全,自动缩进,支持shell,增加了很多函 ...