文章标题
来源:互联网 发布:三星固态硬盘优化软件 编辑:程序博客网 时间:2024/05/17 23:12
c#中实现http请求响应
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Net;
using System.IO;
using System.IO.Compression;
using System.Text.RegularExpressions;
namespace HttpRequest
{
class Program
{
//private static readonly string DefaultUserAgent = “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)”;
private static readonly string DefaultUserAgent = “Mozilla/4.0 (compatible; MSIE 6.00; Windows 2000”;
private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; //总是接受 } public static HttpWebResponse CreatePostHttpResponse(string url, IDictionary<string, string> parameters, Encoding charset) { HttpWebRequest request = null; //HTTPSQ请求 ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); request = WebRequest.Create(url) as HttpWebRequest; request.ProtocolVersion = HttpVersion.Version10; request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.UserAgent = DefaultUserAgent; //如果需要POST数据 if (!(parameters == null || parameters.Count == 0)) { StringBuilder buffer = new StringBuilder(); int i = 0; foreach (string key in parameters.Keys) { if (i > 0) { buffer.AppendFormat("&{0}={1}", key, parameters[key]); } else { buffer.AppendFormat("{0}={1}", key, parameters[key]); } i++; } byte[] data = charset.GetBytes(buffer.ToString()); using (Stream stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } } return request.GetResponse() as HttpWebResponse; } static void Main(string[] args) { string url = "http://127.0.0.1:8080/xiaojd/engine"; Encoding encoding = Encoding.GetEncoding("gbk"); IDictionary<string, string> parameters = new Dictionary<string, string>(); parameters.Add("authuser", "***"); //parameters.Add("authpass", "xiaojd.com"); //parameters.Add("orgkey", "root"); //parameters.Add("orgname", "root"); //HttpWebResponse response = Program.CreatePostHttpResponse(url, parameters, encoding); //打印返回值 //Stream stream = response.GetResponseStream(); //获取响应的字符串流 //StreamReader sr = new StreamReader(stream,encoding); //创建一个stream读取流 //string html = sr.ReadToEnd(); //从头读到尾,放到字符串html string html = HisInfoPost.EngineAnalysis.HtmlText(url, parameters, encoding); Console.WriteLine(html); Console.ReadLine(); }}
}
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- Android开发之显示输入密码功能
- Hadoop之网站日志分析项目案例(三)统计分析(笔记23)
- Kexec 引导内核内幕
- 《神经网络设计》读书笔记——Widrow-Hoff学习算法
- 选择器总结 浮动 CSS的三大特性
- 文章标题
- IOS进入DFU模式通过iTunes恢复系统
- spring cloud config使用总结
- selectpicker 获取选中option的属性或者值
- 移动游戏体验感
- 清除tomcat缓存
- 技术牛人到管理牛人的蜕变
- POJ2516 Minimum Cost
- 【Deep Learning】caffe学习笔记(一):安装