HttpWebResponse取不到Cookie?原来是因为被跳转了

今天做模拟登陆的时候,发现HttpWebResponse的Cookie都为空,但是Fiddler看是有的。。。后来看见是302状态,才知道请求这个的时候,Response回来已经是跳转了。。。这样Cookie就会消失。

解决方法:

1.

var request = (HttpWebRequest)WebRequest.Create(URL));

request.CookieContainer = new CookieContainer(); //这句大家都知道,如果想要获得response的cookie,这句必须写。
request.AllowAutoRedirect = false;

2. 如果用的是WebClient,就需要重写这个类:

 public class WebClientEx : WebClient
    {
        protected override WebRequest GetWebRequest(Uri address)
        {
            var request = (HttpWebRequest)base.GetWebRequest(address);
            request.AllowAutoRedirect = false;
            return request;
        }
    }

  var webClient = new WebClientEx();

时间: 2024-12-05 22:01:28

HttpWebResponse取不到Cookie?原来是因为被跳转了的相关文章

爬虫 --- 07. 全站爬取, post请求,cookie, 传参,中间件,selenium

一.全站数据的爬取 - yield scrapy.Request(url,callback):callback回调一个函数用于数据解析 # 爬取阳光热线前五页数据 import scrapy from sunLinePro.items import SunlineproItem class SunSpider(scrapy.Spider): name = 'sun' # allowed_domains = ['www.xxx.com'] start_urls = ['http://wz.sun0

解决Jsoup网页抓取过程中需要cookie的问题

最近在做城觅网的信息抓取,发现城觅网上海与北京的url是一样的.那怎样才确定信息的来源呢?折腾了半天,才发现城觅网是使用cookie的,如果你把网站的cookie禁用了,就无法在上海与北京之间切换了. 于是便想到了请求时将cookie带上.方法如下: 第一步,拿到上海或者北京的cookie Map<String, String> cookies = null; Response res = Jsoup.connect("http://www.chengmi.com/shanghai&

c#抓取网页验证码

代码如下: public partial class Form3 : Form { private CookieContainer cookie = new System.Net.CookieContainer();//声明一个全局cookie变量 public Form3() { InitializeComponent(); } private void Form3_Load(object sender, EventArgs e) { Bind(); this.label2.Cursor =

C#抓取和分析网页的类

抓取和分析网页的类. 主要功能有: Ontology 1.提取网页的纯文本,去所有html标签和javascript代码 2.提取网页的链接,包括href和frame及iframe 3.提取网页的title等(其它的标签可依此类推,正则是一样的) 4.可以实现简单的表单提交及cookie保存 /**  Author:Sunjoy at CCNU*  如果您改进了这个类请发一份代码给我(ccnusjy 在gmail.com)*/ using System;using System.Data;usi

【转】学习总结--Cookie &amp; Session总结

转载地址:http://www.phperzone.cn/portal.php?aid=718&mod=view 一.状态管理1)什么是状态管理?   将浏览器与web服务器之间多次交互过程当做一个整体来处理,并且将多次交互所涉及的数据进行管理.2)状态管理技术cookie:    a,什么是cookie?   是一种客户端(浏览器)的状态管理技术.   浏览器在访问web服务器的时候,服务器会将少量的数据以set-cookie消息头的方式发送给浏览器,浏览器会将这结数据保存下来:当浏览器再次访

java:Cookie(常用操作)

 1.常用操作: package cn.zzsxt.lee.web.cookie; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.h

go 代理服务器(cookie设置失败无法登录)

1 Method POST 2 URL https://vjudge.net/user/login 3 Proto HTTP/1.1 4 ProtoMajor 1 5 ProtoMinor 1 6 Header map[Referer:[http://127.0.0.1:8002/] Accept-Language:[zh-CN,zh;q=0.8] Connection:[keep-alive] Origin:[http://127.0.0.1:8002] Content-Type:[appli

关于使用jquery.cookie.js存cookie中文出现乱码问题

一.在Web开发中,有事为了页面之间传值,我们会用到cookie.但是当在cookie中存值为中文汉字时就会出现乱码! 这是一个简单例子: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="../JavaScript/jquery-1.8.2

【数据处理】为什么数据要取对数

平时在一些数据处理中,经常会把原始数据取对数后进一步处理.之所以这样做是基于对数函数在其定义域内是单调增函数,取对数后不会改变数据的相对关系,取对数作用主要有:1. 缩小数据的绝对数值,方便计算.例如,每个数据项的值都很大,许多这样的值进行计算可能对超过常用数据类型的取值范围,这时取对数,就把数值缩小了,例如TF-IDF计算时,由于在大规模语料库中,很多词的频率是非常大的数字. 2. 取对数后,可以将乘法计算转换称加法计算. 3. 某些情况下,在数据的整个值域中的在不同区间的差异带来的影响不同.