实例详解C#实现http不同方法的请求
2018-07-02 09:01
1011 查看
1、不带参数的POST请求
public static string Post(string url) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取内容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }
2、带参数的POST请求
public static string Post(string url,Dictionary<string,string> dic) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; #region 添加Post 参数 StringBuilder builder = new StringBuilder(); int i = 0; foreach (var item in dic) { if (i > 0) builder.Append("&"); builder.AppendFormat("{0}={1}", item.Key, item.Value); i++; } byte[] data = Encoding.UTF8.GetBytes(builder.ToString()); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } #endregion HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取响应内容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }
3、不带参数的GET请求
public static string Get(string url) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); try { //获取内容 using (StreamReader reader = new StreamReader(stream)) { result = reader.ReadToEnd(); } } finally { stream.Close(); } return result; }
4、带参数的GET请求
public static string Get(string url, Dictionary<string, string> dic) { string result = ""; StringBuilder builder = new StringBuilder(); builder.Append(url); if (dic.Count > 0) { builder.Append("?"); int i = 0; foreach (var item in dic) { if (i > 0) builder.Append("&"); builder.AppendFormat("{0}={1}", item.Key, item.Value); i++; } } HttpWebRequest req = (HttpWebRequest)WebRequest.Create(builder.ToString()); //添加参数 HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); try { //获取内容 using (StreamReader reader = new StreamReader(stream)) { result = reader.ReadToEnd(); } } finally { stream.Close(); } return result; }
5、自定义HTTP请求头
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "GET"; req.Headers["Accept-Language"] = "zh-CN,zh;q=0.8"; req.Referer = "https://www.baidu.com/"; HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); string result = ""; //注意,此处使用的编码是:gb2312 //using (StreamReader reader = new StreamReader(stream, Encoding.Default)) using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("gb2312"))) { result = reader.ReadToEnd(); }
您可能感兴趣的文章:
相关文章推荐
- C# 实现http不同方法的请求
- C#实现发送简单HTTP请求的方法
- Android HTTP实例 使用GET方法和POST方法发送请求(通过Apache接口实现)
- C#实现http协议支持上传下载文件的GET、POST请求
- [技巧] C#实现让程序只能打开一个实例(总结3方法)
- AJAX(XMLHttpRequest)进行跨域请求方法详解(三)
- C#实现让程序只能打开一个实例(总结3方法)(转)
- C# 2005 简短方法实现软件仅打开一个实例的方法
- AJAX(XMLHttpRequest)进行跨域请求方法详解
- c#中HttpWebRequest使用Proxy实现指定IP的域名请求
- AJAX(XMLHttpRequest)进行跨域请求方法详解(一)
- c#实现程序启动唯一实例的方法
- .Net Remoting 事件回调 Client 函数方法完整实例: C# 实现控制台网络聊天室 (Console Remoting ChatRoom)
- C#实现打印功能实例详解
- AJAX(XMLHttpRequest)进行跨域请求方法详解(一) 推荐
- C#实现通过HttpWebRequest发送POST请求实现网站自动登陆
- [导入]C#实现通过HttpWebRequest发送POST请求实现网站自动登陆
- .net实例:C#下实现主从DropDownList互动的方法
- AJAX(XMLHttpRequest)进行跨域请求方法详解(二)
- SOA服务的基本实现方法—使用HTTP协议传输XML请求(POX-over-HTTP)