httpwebrequest-HttpWebRequest cookie 问题

问题描述

HttpWebRequest cookie 问题

在写一个 网站的模拟登录。但是在登录过程中发现一个问题。
无法获取cookie 的全部信息。
如图

途中 slt 的内容是在每次是否能登录的关键。而他又是动态的。目前已知 每天更新。
我想在 项目里直接通过动态的方式 来先把 slt value拿到。在执行登录操作。

求解。 参考网站 http://www.hammocktrader.com/register.asp,

解决方案

slt这个cookie值是登陆后注册后才生成的。。你将email和密码用webrequest post发送到https://www.hammocktrader.com/Login.asp这个接口,同时设置好cookietainer接受返回的cookie值,后续的请求在附带上这个cookie

楼主先搞清楚什么是模拟登陆,你都没登陆就像直接获取登录后的相关信息。。

 Set-Cookie slt=2E692F63-47FA-402C-8086-005F2E4BE2E0; expires=Mon, 27 Apr 2015 12:19:44 UTC; path=/; HttpOnly vsettings=; expires=Wed, 20-Apr-2016 07:00:00 GMT; path=/ CustomerID=6F19F597E36D9F658E5233F7477638E761D6C7A2C079694859E34ABF17C1CEEF; expires=Wed, 20-Apr-2016 07:00:00 GMT; path=/

解决方案二:

一般cookie使用有两种情况导致无法使用,一是cookie声明的域不对称.浏览器没有把cookie post上来.二是浏览器安全设置禁止了cookie使用.

解决方案三:

cookieContainer.Add(new Cookie { Name = "slt", Value = "D4408553-D77B-4164-826A-66697418B9FF", Path = "/", Domain = "www.hammocktrader.com" });
cookieContainer.Add(new Cookie { Name = "vsettings", Value = "", Path = "/", Domain = "www.hammocktrader.com" });
cookieContainer.Add(new Cookie { Name = "CustomerID", Value = "F58660ABCE8B601F1C341F13C831520E8A3CAF20C8DAC36C0B35B32A3569D00C", Path = "/", Domain = "www.hammocktrader.com" });
_html = DataGatherUtil.UtilClass.Post("https://www.hammocktrader.com/Login.asp"
, ""
, ref cookieContainer
, "email=....................................................Login=Login&CalledBy=Register.asp&CustomerNewOld=old"
, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
, "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
, "application/x-www-form-urlencoded");
这个是我现在的代码块。如果 将指插入到 cookie中可以正常登录 。

解决方案四:

那么为什么为在 没登陆的情况下也可以看见 slt ?

解决方案五:

问题中的图片 就是未登录状态。

解决方案六:

不可能拿不到,肯定是你的流程控制不对。或者你没有完全模拟浏览器参数

时间: 2024-09-17 03:59:05

httpwebrequest-HttpWebRequest cookie 问题的相关文章

httpwebrequest获取cookie不全的问题(有图有代码,目前无真相...)

问题描述 网址:http://tuiguang.ganji.com/house_report/auth.php我用httpwatch跟踪有7个cookie,而用httpwebrequest只能得到2个,不知道为啥,哪位帮个忙???我只能得到jsession和nsc_wt_uh_qpsu_80,连wt_fpc都得不到,很奇怪...补充一下,我清了一下cookie,发现默认不是7个,是三个,但我的request还是只能得到两个,这个没有得到__utmcSent32156897/ganji.com(S

同样请求一个网页,HttpWebRequest 的cookie WebBrowser的cookie不一样?

问题描述 同样请求一个网页,HttpWebRequest的cookieWebBrowser的cookie不一样?用winform登陆http://www.baidu.com/HttpWebRequestGet数据后HttpWebRequest.CookieContainer中的cookie是:BAIDUID=42015F7D902380DEBBB1344EC3BF722D:FG=1在winform里面的WebBrowser登陆得到WebBrowser.Document.Cookiestring类

Httpwebrequest的cookie传给webbrowser

问题描述 想请教一下各位,是这样的.我用Httwebrequest成功登陆了网站,有一个CookieContainer现在我想把这个CookieContainer附给一个Webbrowser即Webbrowser访问页面时候不需要再执行登陆,想问问是否可行.有没有方法提供一下 解决方案 解决方案二:应该可以试试http://blog.csdn.net/cctv_hu/article/details/6029716解决方案三:能否详细一点的.怎样把cookiescontainer移植到下面的代码?

使用MemberShip时 用HttpWebRequest抓数据

最近在做一个项目,因为是分层设计,为了各层之间解耦,我们采用了HttpWebRequest来抓取同域下 的文件数据(动态生成的)来生成新的对象.我们生成数据页的handler都是以.do结尾的,以示区分.但是 这也带来了问题,在使用HttpWebRequest抓数据时,通不过验证.但是我们使用AJAX同样也是.do结尾的啊, 却可以使用,奇怪!网上找Membership的验证原理,资料及其缺乏.多是设置cookie之类的,也试了好多次,均 不奏效!事实也证明,当我们禁用cookie时,membe

HttpWebRequest通过代理如何下载没有后缀的图片

问题描述 <imgid="codeimage"src="wap/qhai/checkimage"height="20"width="55"/>这个一个验证码图片的标签,用HttpWebRequest去下载验证码,服务器返回404,下载代码如下:publicvoidRunImage(inti,stringuri){System.Net.HttpWebRequestRequest=null;System.Net.Htt

尝试通过HttpWebRequest向TAOBAO批量发布商品及上传图片

朋友开了个淘宝店,所以经常要将新商品及图片发布到网店里,而且有时还需要上传很多商品.如果手工一条一个商品的上传未免太花时间,所以我就琢磨着能否用WinForm写个程序通过WebRequest发送POST/GET请求来达到这个目的.由于上传上品时即有普通的Form字段信息需要提交,还需要上传图片,所以在写HttpWebRequest时参考了这个帖子http://bytes.com/topic/c-sharp/answers/268661-how-upload-file-via-c-code(How

使用C#的HttpWebRequest模拟登陆网站

原文:使用C#的HttpWebRequest模拟登陆网站 这篇文章是有关模拟登录网站方面的. 实现步骤: 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话的CooKie 并根据该CooKie继续访问登录后的页面,获取后续访问的页面数据. 我们以登录人人网为例,首先需要分析人人网登录时POST的数据格式,这个可以通过IE9中只带的F12快捷键,调出开发人员工具.如下图:   通过开始捕获得到POST的地址和POST的数据 POST数据: email=aaa@163.com&pa

使用 HttpWebRequest 向网站提交数据

转自:http://www.cnblogs.com/webman/archive/2006/11/17/564106.html HttpWebRequest 是 .net 基类库中的一个类,在命名空间 System.Net 下面,用来使用户通过 HTTP 协议和服务器交互.  HttpWebRequest 对 HTTP 协议进行了完整的封装,对 HTTP 协议中的 Header, Content, Cookie 都做了属性和方法的支持,很容易就能编写出一个模拟浏览器自动登录的程序.  程序使用 

c# HttpWebRequest通过代理服务器抓取网页内容应用介绍_C#教程

内网用户或代理上网的用户使用 复制代码 代码如下: using System.IO; using System.Net; public string get_html() { string urlStr = "http://www.domain.com"; //設定要獲取的地址 HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(urlStr); //建立HttpWebRequest對象 hwr.Timeout = 60

HttpWebRequest,页首就有reload的怎么办。。郁闷

问题描述 <!--@R--><script>vark='c991130d';vard=newDate();d.setTime(d.getTime()+(3600*24*365*5*1000));document.cookie="p7c="+k+";expires="+d.toGMTString();setTimeout(function(){window.location.reload();},2000);</script>正在下