C#在WinFrom中Get/Post请求及QQ农场Cookie保存
本文地址:http://www.cnblogs.com/atree/archive/2010/04/20/WinFrom-GetPost-Cookie.html
注意Cookie的绑定,此处Cookie为获取验证码时记录的Cookie值。
#region 提交数据方法// 公用Cookie信息public static CookieContainer myCookie;//返回的Html代码或结果public static string html;/// <summary>/// Get方式提交/// </summary>/// <param name="strUrl">目的资源链接</param>/// <returns>String:Response返回值</returns>public static string GetModel(string strUrl, string server){string strRet = null;try{HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl);request.Timeout = 2000; HttpWebResponse response = (HttpWebResponse)request.GetResponse();System.IO.Stream resStream = response.GetResponseStream();Encoding encode = System.Text.Encoding.UTF8;StreamReader readStream = new StreamReader(resStream, encode);Char[] read = new Char[256];int count = readStream.Read(read, 0, 256);while (count > 0){String str = new String(read, 0, count);strRet = strRet + str;count = readStream.Read(read, 0, 256);}resStream.Close();}catch (Exception e){strRet = "";}return strRet;}/// <summary>/// 绑定Cookie、获取验证码/// </summary>/// <param name="strUrl">链接地址(验证码获取地址)</param>/// <param name="server">Referer地址</param>/// <returns>Stream:验证码的数据流</returns>public static Stream GetModelStream(string strUrl, string server)//, string proxy, bool isProxy){System.IO.Stream resStream = null;string cookie;try{HttpWebRequest httpRequest = (HttpWebRequest)HttpWebRequest.Create(strUrl);httpRequest.Timeout = 2000;httpRequest.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";httpRequest.Referer = server;httpRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();cookie = httpResponse.Headers.Get("Set-Cookie");myCookie = new CookieContainer();myCookie.SetCookies(new Uri(server), cookie);resStream = httpResponse.GetResponseStream();}catch { }return resStream;}/// <summary>/// Post方法提交/// </summary>/// <param name="strUrl">目的资源链接</param>/// <param name="strParm">传递的参数和值</param>/// <returns>String:Response返回值</returns>public static string PostModel(string strUrl, string server, string strParm){Encoding encode = System.Text.Encoding.UTF8;byte[] arrB = encode.GetBytes(strParm);HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(strUrl);myReq.Method = "POST";myReq.ContentType = "application/x-www-form-urlencoded";myReq.Timeout = 2000;myReq.Referer = server;myReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";myReq.ContentLength = arrB.Length;myReq.CookieContainer = myCookie;Stream outStream = myReq.GetRequestStream();outStream.Write(arrB, 0, arrB.Length);outStream.Close();WebResponse myResp = null;try{//接收HTTP做出的响应 myResp = myReq.GetResponse();}catch (Exception e){}Stream ReceiveStream = myResp.GetResponseStream();StreamReader readStream = new StreamReader(ReceiveStream, encode);Char[] read = new Char[256];int count = readStream.Read(read, 0, 256);string str = null;while (count > 0){str += new String(read, 0, count);count = readStream.Read(read, 0, 256);}readStream.Close();myResp.Close();return str;}#endregion
C#在WinFrom中Get/Post请求及QQ农场Cookie保存相关推荐
- 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题...
前段时间做一个项目,而项目中所有的请求都要用jquery 中的ajax请求或者post请求,但是开始处理一些简单操作还好,但是自己写了一些验证就出现问题了,比如表单提交的时候,要验证帐号的唯一性,所以 ...
- postman简单教程,如何在请求中引用上次请求返回的值
做接口测试,一定会遇到这种情况,需要拿上次请求的值在本次请求中使用,比如,我们去测试一个东西,要去登录才能做其他的操作,需要拿到登录返回数据中的某些字段,比如,token啊等... 如果发一次请求,就 ...
- php ajax session失效,PHP中解决ajax请求session过期退出登录问题
1.session过期,如果直接是url请求,或者用户在打开的系统页面中直接清除缓存及cookie信息,可直接在php的入口文件中调用以下封装的方法,进行session信息判断以及页面的跳转,如: i ...
- java获取jsp页面参数_jsp页面中获取servlet请求中的参数方法总结
jsp页面中获取servlet请求中的参数的办法详解 在JAVA WEB应用中,如何获取servlet请求中的参数,并传递给跳转的JSP页面?例如访问http://localhost:8088/bbs ...
- spring cloud gateway中解决第一次请求失败的问题
spring cloud gateway中解决第一次请求失败的问题 参考文章: (1)spring cloud gateway中解决第一次请求失败的问题 (2)https://www.cnblogs. ...
- .net中对HTTP请求的两种请求:Get和Post的操作
.net中对HTTP请求的简单操作总结 第一部分,HTTP协议的简单了解 一. 什么是HTTP协议 超文本传输协议 (HTTP-Hypertext transfer protoco ...
- HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
http://blog.csdn.net/qxs965266509/article/details/8082810 用于HTTP请求中的常用请求头字段 Accept:用于高速服务器,客户机支持的数据类 ...
- jQuery中终止Ajax请求
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ASP.NET中处理HTTP请求的原理 (转)
ASP.Net产生的大背景: 在Internet时代的开端,客户端的需求非常有限:.htm文件就可以满足他们的需求.但是,随着时间的流逝,客户端需求的扩充超越了.htm文件或静态文件所包含的功能. 开 ...
最新文章
- 阿里云与WPS深度合作,开放数据处理生态
- linux java maven_Linux下安装及配置Java与Maven
- golang中int类型切片无需传指针
- 阿里云发布云原生加速器,携手生态企业拥抱数字时代
- 从视觉检测窥探人类大脑和数字大脑的差别
- 一个判断字符串是否是数字的正则表达式
- myeclipse启动报JVM terminated. Exit code=1
- Express框架使用以及数据库公共操作类整理(Win7下的NodeJs)
- 14款荣耀/华为机型获版本升级: 适配FlyPods Pro骨声纹识别
- 查找在Git中删除文件的时间
- java 容易犯错_写Java程序最容易犯错误有哪些呢?
- getaway网关转发去前缀_蚂蚁金服 Service Mesh 大规模落地系列 - 网关篇
- 【环境部署】基于FreeSSL生成免费SSL证书
- google浏览器html不提示,谷歌浏览器不显示标签页怎么回事 谷歌浏览器不显示标签页的解决方法...
- Hive详解之内表、外表和分区
- UNIX 与 WINDOWS 文本换行的差异
- Excel之动态数据分析报表
- win10重装系统后连不上公司服务器,Win10重装系统后网络连接不了,重装win10系统后不能上网解决方法...
- 服务器中心地址,互联网时间同步服务器地址(国家授时中心服务器)
- 2022-2027年(新版)中国大米行业营销战略与供应情况预测报告