/// <summary>
/// 通过get方式发送xmlHttp请求,并获得响应数据
/// </summary>
/// <param name="Url">URL地址,参数直接写到后面,如:http://www.baidu.com/index.asp?id=7</param>
/// <param name="Encoding">请求和返回数据采用的编码方式,如 "gb2312" ,"utf-8"</param>
/// <returns></returns>
public static string SendXmlHttpWithGet(string Url, string Encoding, CookieContainer cookie)
{HttpWebRequest request;// = (HttpWebRequest)WebRequest.Create(Url);string ResponseHtml = "";try{request = (HttpWebRequest)WebRequest.Create(Url);request.CookieContainer = cookie;request.KeepAlive = false; //是否建立持久连接request.Timeout = 6000; //超时时间request.Method = "get"; //get方式提交request.ContentType = "application/x-www-form-urlencoded;charset=" + Encoding;request.AllowAutoRedirect = true; //是否跟随重定向request.MaximumAutomaticRedirections = 10; //重定向最大数request.AllowWriteStreamBuffering = false; //是否对发送数据进行缓冲处理request.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested; //进行身份验证
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //获得响应Stream responseStream = response.GetResponseStream(); //获得响应流StreamReader readStream = new StreamReader(responseStream, System.Text.Encoding.GetEncoding(Encoding)); //读取字节的方式读取流
ResponseHtml = readStream.ReadToEnd(); //读完流responseStream.Close(); //关闭响应流readStream.Close();//关闭字节流
    }catch (Exception ex){ResponseHtml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><data><success value=\"0\" msg=\"登录失败!" + ex.Message.ToString() + "\" /></data>";}finally { }return ResponseHtml;
}/// <summary>
/// 通过post方式发送xmlHttp请求,并获得响应数据
/// </summary>
/// <param name="url">URL地址</param>
/// <param name="parms">需要处理的参数键值对</param>
/// <param name="encoding">请求和返回数据采用的编码方式,如 "gb2312" ,"utf-8"</param>
/// <returns></returns>
public static string SendXmlHttpWithPost(string url, Hashtable parms, string encoding, CookieContainer cookie)
{HttpWebRequest request ;//= (HttpWebRequest)WebRequest.Create(url);string ResponseHtml = "";try{request = (HttpWebRequest)WebRequest.Create(url);request.CookieContainer = cookie;////传参数if (encoding == null) { encoding = "utf-8"; }Encoding myEncoding = Encoding.GetEncoding(encoding); //指定编码string parmsStr = "";if (parms != null){foreach (DictionaryEntry item in parms){parmsStr += "&" + HttpUtility.UrlEncode(item.Key.ToString(), myEncoding);parmsStr += "=" + HttpUtility.UrlEncode(item.Value.ToString(), myEncoding);}if (parmsStr.Length > 0){parmsStr = parmsStr.Substring(1, parmsStr.Length - 1); //把第一个"&"删了
            }}byte[] postBytes = myEncoding.GetBytes(parmsStr);request.Timeout = 60000; //超时时间request.Method = "post"; //采用post方法提交request.ContentType = "application/x-www-form-urlencoded;charset=" + myEncoding;request.ContentLength = postBytes.Length;Stream requestStream = request.GetRequestStream();requestStream.Write(postBytes, 0, postBytes.Length); //把参数写入请求流
        requestStream.Close();//获取响应HttpWebResponse response = (HttpWebResponse)request.GetResponse();//获取响应Stream responseStream = response.GetResponseStream();//获取响应流StreamReader readStream = new StreamReader(responseStream, Encoding.GetEncoding("utf-8")); //采用StreamReader用指定编码读取响应流
ResponseHtml = readStream.ReadToEnd(); //读完流responseStream.Close(); //关闭响应流readStream.Close();//关闭字节流
    }catch (Exception ex) {ResponseHtml= "<?xml version=\"1.0\" encoding=\"utf-8\" ?><data><success value=\"0\" msg=\"登录失败!" + ex.Message.ToString() + "\" /></data>";}return ResponseHtml;

采集/自动登录啊都可以用这两个方法实现 asp.net相关推荐

  1. 一.关于实现浏览器弹窗提示内容几秒后自动消失重定向执行其他函数的两种方法

    一.关于实现浏览器弹窗提示内容几秒后自动消失重定向执行其他函数的两种方法 第一种方法–向body动态写入div标签调用css效果显示: (新建***.jsp放在WebContent根目录下直接访问ip ...

  2. 使用MyBatis Generator自动生成持久层CRUD代码的两种方法

    最近在使用MyBatis,得知可以利用MyBatis Generator自动生成实体类.DAO接口和Mapping映射文件.当数据库中的表多的时候,让你不用再手写Mapping映射文件,和实体类,就可 ...

  3. 怎么修改计算机密码界面的背景,操作方法:在Win10中输入密码时如何修改登录界面的背景图片(两种方法)...

    Win10系统的登录背景默认为"英雄"墙纸.我相信许多朋友对此感到厌倦. Win10没有提供自由更改的选项,但是我们可以通过某些方法或工具来更改登录背景. 方法1:手动修改 Win ...

  4. java登录代码带验证码实现_两种方法实现带验证码的用户登录

    带验证码的登录效果图 登录成功时,记录用户名和访问次数 登录失败,弹出错误提示 方法一:应用request对象获取表单数据实现登录操作 代码结构: index.jsp源码及详解: 当表单被提交时,数据 ...

  5. 百度服务器自动重启,百度云服务器重启的两种方法介绍

    百度云服务器重启的两种方法介绍 发布时间:2020-04-15 13:39:07 来源:亿速云 阅读:315 作者:小新 本篇文章和大家了解一下百度云服务器重启的两种方法介绍.有一定的参考价值,有需要 ...

  6. cookie自动登录

    一.什么是用户自动登录? 对于我们的网站向已注册用户提供某些专门的服务,比如网上购物.在线下载.收费浏览等等,就会要求用户在使用这些服务之前进入登录页面,输入用户名和密码,并进行验证. 如果用户经常访 ...

  7. 网站自动登录功能的设计[转]

    网站的自动登录一直都是有利于提高用户体验的功能,如果设计不好,也非常容易泄漏用户的账户信息. 比较常见的功能实现方案是将用户的登录信息保存在浏览器的Cookie中.看到一些设计有缺陷的网站会将用户的用 ...

  8. android自动登录简书,android 手机号实现登录功能

    先看看效果 image.png 我的这个登录功能是手机号和密码都已经在后台数据库有存储的,所以是直接登录. 重点有三个: 1.账号密码的存储,实现自动登录: 2.网络通信: 3.密码一定要Md5加密之 ...

  9. 基于localStorge开发登录模块的记住密码与自动登录

    前沿||我是乐于分享,善于交流的鸟窝 先做写一篇关于登录模块中记住密码与自动登录的模块.鸟窝微信:jkxx123321 关于这个模块功能模块的由来,这是鸟大大的处女秀,为什么这么说呢?一天在群里,一个 ...

最新文章

  1. bind日志配置详解
  2. python polar contour_Python将2darray的最后一行和第二列添加到最后位置 - Polar Contour图...
  3. python反爬虫策略ppt_了解python爬虫怎样对抗反爬虫策略-
  4. 法嵌入互操作类型“SHDocVw.ShellWindowsClass”请改用适用的接口-解决方法
  5. ipv6的127位掩码如何表示_子网掩码
  6. 打印出系统所有即未被assign到business transaction和IBASE component的product ID列表
  7. 如何证明服从卡方分布_谈谈抽样分布定理
  8. 爬楼梯与路径类题目记忆化递归与动态规划双解法(Leetcode题解-Python语言)
  9. 普通人为什么要学习Python
  10. oracle下载(转载)
  11. webpack代码分割和懒加载
  12. (第十章)多表查询之in,exitst
  13. Cadence软件包集成了那么多软件,傻傻分不清?
  14. 统计各种字符数量(包括汉字)
  15. 大学的第一堂必修课:军训
  16. u3d 100道面试题(包含答案)
  17. missing privilege separation directory /var/empty/sshd问题解决
  18. 我学炒外汇 第二十二篇实战心得
  19. QT 界面设计篇(水波纹进度条QProgressBarWater)
  20. [转载] 晓说——第24期:“看美国”系列之人类精华犹太人(下)

热门文章

  1. 小白兔写话_聪明的小白兔看图写话
  2. vs发布免安装文件_戒掉PC,免pc开发,cloud ide and debug设想
  3. linux查看地址和,UNIX/LINUX平台下查看MAC和WWN地址的方法
  4. python的难点在哪里_自己写的Python答案,不知道错在哪儿希望能被告知问题在哪儿和答案...
  5. 这八个步骤,Python让你轻松爬取B站弹幕,网友看了都说6
  6. 一篇文章教会你利用Python网络爬虫获取Mikan动漫资源
  7. ECharts 饼图绘制教程
  8. 从业5年,教你学习Linux开发
  9. 单片机要学多久才能自己开发?学单片机以后做什么?
  10. linux的上传工具,Linux下精简版上传工具lrzsz