string result =GetRequest("http://localhost:32163/DuoBao/ajax.aspx", "time=5");     //如果有好几个参数可以在后面加,如:   time=5&b=1&c=5

/// <summary>
        /// 获得post请求后响应的数据
        /// </summary>
        /// <param name="postUrl">请求地址</param>
        /// <param name="data">请求带的数据</param>
        /// <returns>响应内容</returns>

public string GetRequest(string postUrl, string data)
         {
             string result = "";
             try
             {
                 //命名空间System.Net下的HttpWebRequest类
                 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
                 //参照浏览器的请求报文 封装需要的参数 这里参照ie9
                 //浏览器可接受的MIME类型
                 request.Accept = "text/plain, */*; q=0.01";
                 //包含一个URL,用户从该URL代表的页面出发访问当前请求的页面
                 //浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用
                 request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)";
                 request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
                 //请求方式
                 request.Method = "POST";
                 //是否保持常连接
                 request.KeepAlive = false;
                 request.Headers.Add("Accept-Encoding", "gzip, deflate");
                 //表示请求消息正文的长度
                 request.ContentLength = data.Length;
                 Stream postStream = request.GetRequestStream();
                 byte[] postData = Encoding.UTF8.GetBytes(data);
                 //将传输的数据,请求正文写入请求流
                 postStream.Write(postData, 0, postData.Length);
                 postStream.Dispose();
                 //响应
                 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                 //判断响应的信息是否为压缩信息 若为压缩信息解压后返回
                 if (response.ContentEncoding == "gzip")
                 {
                     MemoryStream ms = new MemoryStream();
                     GZipStream zip = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress);
                     byte[] buffer = new byte[1024];
                     int l = zip.Read(buffer, 0, buffer.Length);
                     while (l > 0)
                     {
                         ms.Write(buffer, 0, l);
                         l = zip.Read(buffer, 0, buffer.Length);
                     }
                     ms.Dispose();
                     zip.Dispose();
                     result = Encoding.UTF8.GetString(ms.ToArray());
                 }
                 return result;
             }
             catch (Exception)
             {
 
                 throw;
             }
         }

///请求的页面

public override void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            //接收参数
            string time = context.Request["time"];
         
            if (!string.IsNullOrEmpty(time))
            {
                 //调用方法
            }

context.Response.Write("2");//返回参数
        }

来源  http://www.cnblogs.com/lyl6796910/p/3722280.html

C# winfrom HttpWebRequest 请求获取html网页信息和提交信息的更多相关文章

  1. python3 获取自建gitlab用户提交信息

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019-12-03 14:20 # @Author : Anthony # @Emai ...

  2. js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq

    js_html_input中autocomplete="off"在chrom中失效的解决办法 分享网上的2种办法: 1-可以在不需要默认填写的input框中设置 autocompl ...

  3. C# HttpWebRequest请求远程地址获取返回消息

    HttpWebRequest请求远程地址获取返回消息 /// <summary> /// 请求远程Api获取响应返回字符串 /// </summary> /// <par ...

  4. Spring MVC请求参数绑定 自定义类型转化 和获取原声带额servlet request response信息

    首先还在我们的框架的基础上建立文件 在domian下建立Account实体类 import org.springframework.stereotype.Controller; import org. ...

  5. 使用HttpWebRequest请求API接口以及其他网站资源

    很多时候,我们项目需要其他网站的资源,而这个被请求的网站可能属于你们自己开发管理的网站.也可能是公网上其他网站对外开发的API接口,比如说腾讯的微信公众平台的API接口.各大短信服务商的短信API接口 ...

  6. 利用python获取自己的qq群成员信息

    利用python获取自己的qq群成员信息! 首先说明一下需要使用的工具以及技术:python3 + selenium selenium安装方法:pip install selenium 前提:获取自己 ...

  7. NodeMCU获取并解析心知天气信息

    NodeMCU获取并解析心知天气信息 1 注册心知天气并获取私钥 打开心知天气网站,点击注册按钮 填写基本信息注册心知天气账号,登录注册所填写的邮箱点击链接进行账号激活,随后出现如下界面 点击登录按钮 ...

  8. C#使用GET、POST请求获取结果

    C#使用GET.POST请求获取结果,这里以一个简单的用户登陆为例. 1. 使用GET请求获取结果 1.1 创建LoginHandler.aspx处理页面 protected void Page_Lo ...

  9. 如何直接在 PC 端获取其它端设备的 UserAgent 信息呢?

    如何直接在 PC 端获取其它端设备的 UserAgent 信息呢 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5909615.html 序 希望收 ...

随机推荐

  1. [转]金融业容灾技术分析 (终于看到QREP了)

    源地址:http://www.cnblogs.com/SuperXJ/p/3480929.html 数据复制技术很多,初步比较如下. 后面重点讨论银行最常用的存储复制和数据库复制..当然,我最推荐的还 ...

  2. 详解Java 8中Stream类型的“懒”加载

    在进入正题之前,我们需要先引入Java 8中Stream类型的两个很重要的操作: 中间和终结操作(Intermediate and Terminal Operation) Stream类型有两种类型的 ...

  3. Python ToDo List

    这是我在学习python过程中,想做又没来得及做的事情一览.最初只有寥寥几个字,我会尽力去消化,让它不会只增不减. 由于博客园奇怪的算法,明明是一篇非常没有含量的东西(连字数都没有达到),居然能荣登p ...

  4. Delphi中ExtractFilePath、ParamStr以及更多文件/目录操作涉及的函数。附加对应的例子

    先介绍ExtractFilePath和ParamStr ParamStr 该函数的原型是:function paramstr(i: Integer): String; 对于任何的application ...

  5. Mipmap与纹理过滤

    为了加快渲染速度和减少纹理锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为Mipmap. 使用DirectX Texture Tool(DX自带工具)预生成Mipmap ...

  6. JavaScript call

    <script> function dog() { this.sound = "wangwang~"; this.shout = function () { alert ...

  7. IIS与Apache共用80端口

    Windows server 2003服务器上安装有默认 IIS 6和Apache两个服务器,IIS运行的一个.net程序,apache运行php程序,现在想让它们同时都能通过80端口访问,设置起来还 ...

  8. 如何实现VoIP中大并发应用

    后台服务器实现高并发方式: 说明: 黄色皆为运营商或第三方对接系统的VoIP设备等. 前置服务器A与B为热备容灾模式,当A异常,立即跳转到B. 应用服务器做实时容灾处理. 数据库做实时容灾处理. 媒体 ...

  9. linux进程

    E: 进程------->进程控制块PCB   结构体 进程控制块中,存放的是指针数组------>是已经打开的文件的结构体的指针 文件描述符实际上就是指针数组的索引 e1: ps命令(进 ...

  10. JDBC入门之一--连接Mysql实验

    工具:mysql-connector-java-5.1.40.eclipse 1)首先要将mysql-connector-java包整合到eclipse中,右击项目,然后选择build path,出现 ...