python或java httpclient模拟登录,cookie获取问题

目前准备用python或java httpclient做一个模拟登录的程序,可是无法获取cookie,
原因是,请求登录URL时,服务器反应是分两步来进行的。流程大概如下:
1. 首先,服务器会先发过来一个.JS文件,浏览器执行其中的函数,生成cookie,貌似存到document.cookie中。
2. 然后,需要带着生成的cookie才能去访问登录URL。
因为我的程序不能像浏览器一样执行.js文件,所以也就无法获得生成的cookie,就卡到第一步进行不下去了。。
求大神们指点具体解决方案。

2个回答

用fiddler去调试,看js是怎么和服务器通讯的,然后照着模仿

z78098400
z78098400 服务器是把.js文件直接发过来的,也就是发到浏览器,应该是浏览器执行.js文件
接近 5 年之前 回复

你这个必须要有浏览器功能,否则拿不到cookie
python用selenium来模拟浏览器,这样你可以获取dom中的cookie,然后就可以用cookie提交URL请求了

oyljerry
oyljerry 回复z78098400: 人家搞这么复杂就是防止被人抓cookie啊
接近 5 年之前 回复
z78098400
z78098400 通过,b,c,算出a,再md5一下。。才是要的cookie中一个值,真是醉了
接近 5 年之前 回复
z78098400
z78098400 var c = new Date();
接近 5 年之前 回复
z78098400
z78098400 var b = document.body.clientWith+":"+document.body.clientHeight;
接近 5 年之前 回复
z78098400
z78098400 var a = str_to_ent(c.getTime()+Math.random()+document.location+document.referrer+screen.with+screen.height+navigator.userAgent+document.cookie+b)
接近 5 年之前 回复
z78098400
z78098400 我看了下.js中的函数具体内容,其中有个cookie值var a = ;nnid=md5(a)
接近 5 年之前 回复
oyljerry
oyljerry 回复z78098400: 嗯,如果这么多,那么可能要考虑分机器等来提升性能,这个没什么好办法,JS绕不过去
接近 5 年之前 回复
z78098400
z78098400 因为目的是要做多线程程序,目前至少80线程,也就是80个帐号一起登录,所以用selenium模拟的话,性能怕是吃不消
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java爬虫(三)-- httpClient 模拟登录 + cookie 登录状态管理
前言 前面两章内容阐述了httpClient怎么模拟Http请求和如何解析页面。 接下去会讲在一些实战中遇到的问题。 现在回到我的开发摸索之路,之前说到我所爬取的网页是某个险企提供给合作公司的一个页面,通过账号登录然后爬取指定的数据。 这里就出现本章要写的主题了。模拟登录。 我首先确认登录验证的请求所需要携带的参数: 可以看到,登录需要验证码,并且密码不是明文传输的,而是通过前...
使用httpclient模拟登录(Cookies使用)
原文地址:http://www.oschina.net/code/snippet_179804_46120 [1].[代码] [Java]代码 跳至[1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
利用httpclient 模拟登录,获取登录后信息数据
本例使用httpclient 3.0.jar package test; import org.apache.commons.httpclient.Cookie; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.cookie.CookiePolicy; import or
使用httpclient4.3.X模拟post请求登陆网站获取cookie信息的操作
众所周知,httpclient可以模拟登陆操作,下面我就来个实例测试一下,顺便也回忆下这个开源工具的使用,直接上例子吧!    package com.pyc.search.crawler.node.login; import java.io.IOException; import java.util.concurrent.TimeUnit; import org.apach
java 模拟登录新浪微博(通过cookie)
java模拟登录新浪微博(通过cookie)
HttpClient模拟浏览器登录后发起请求(携带Cookie发请求)以及网页显示的事件过程
##HttpClient模拟浏览器登录后发起请求(携带Cookie发请求) ##浏览器的工作: 1请求一个需要登录的页面或资源 2服务器判断当前的会话是否包含已登录信息。如果没有登录重定向到登录页面 3手工在登录页面录入正确的账户信息并提交 4服务器判断登录信息是否正确,如果正确则将登录成功信息保存到session中 5登录成功后服务器端给浏览器返回会话的SessionID信息保
java爬虫--免登录,通过httpclient模拟登录并获取登录后的信息
1、使用依赖 httpclient 进行http请求 jsoup 对html进行解析 <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.8.1</version> </depe
httpUtil httpclient 登陆携带cookie访问下一个连接
Java通过httpclient获取cookie模拟登录 ,登录后发起下一个请求
httpClient 带验证码登录实现
抓取一个农业网站思路步骤如下: 1、首先需要获取验证码页面,把它以图片的格式保证下来。(图片格式需要通过抓包的工具查看。如:httpWatch)并跟踪到的cookie保存下来。cookie必须要跟抓包工具看到的cookie一致。 2、提交登录页面所需要的字段和验证码,字段尽可能全部提交上去。
HttpClient模拟浏览器登录后发起请求(携带Cookie发请求)
大家都知道 使用httpClient能模拟浏览器发起请求,得到想要的反回结果。 但在互联网中存在这样一种情况,某些资源只有登录后才可以查看或下载 例如:百度文库、部分论坛(只有登录后才可以看某些板块)   浏览器实现这个效果需要如下几个步骤:   Ø 1请求一个需要登录的页面或资源 Ø 2服务器判断当前的会话是否包含已登录信息。如果没有登录重定向到登录页面
爬虫记录(3)——模拟登录获取cookie,访问私信页面
继上一篇博文 爬虫记录(2)——简单爬取一个页面的图片并保存 ,今天我们通过httpclient模拟表单登录开源中国,获取cookie,然后通过cookie访问个人私信页面。 1、准备工作 模拟表单登录,首先需要知道登录的url,以及登录表单的字段。这里我们图一中故意输入一个错误的用户名和密码,然后通过查看图二中的network中,发现登录的url是https://www.osch
httpclient模拟登陆CSDN
目录(?)[+] 工具介绍步骤分析如何简单快速使用HttpClient模拟登陆实战题外话 工具介绍 本篇文章主要是讲解如何模拟登陆CSDN,使用的工具是HttpClient+Jsoup 其中HttpClient主要是负责发送请求,而Jsoup主要是解析HTML 你可能对HttpClient的API不太了解,不过没关系,往下看就好了~ Jsou
httpClient模拟浏览器自带cookie发送访问请求
第一种方式:在get请求中手工增加一个cookie字段 //创建httpClient httpClientBuilder=HttpClientBuilder.create(); CloseableHttpClient httpClient=httpClientBuilder.build(); String url="http://192.168.1.222:8080/use
httpclient模拟登陆(使用js设置cookie)
最近做智能终端课的大程,要在android上利用httpclient模拟登陆学校的bbs,因为网络、html协议、脚本语言都还没学,所以查看了很多东西,可算弄出来了。 模拟登陆之前也做过,但是上次的bbs是通过服务器返回的响应(response)的header中set-cookie设置下次访问的cookie,在这种情况下httpclient是可以自动管理cookie的,因此只要先post登陆的表
HTTPclient 模拟登陆及登陆成功后直接访问登陆后的页面
public class HttpClientTest {      public void test(){            CookieStore cookieStore = new BasicCookieStore();            HttpClientContext localContext = new HttpClientContext();            Clos...
HttpClient 模拟登陆百度 2015.10.21 JAVA
最近研究了下httpclient,写了个模拟登陆百度的程序。觉得挺好玩的和大家分享一下。我使用的语言是java
httpclient 面https认证,带cookie访问
cookie通过firebug获取 import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; import java.net.UnknownHostExcep
存储CookieStore后运用httpClient登陆要权限的网址
存储CookieStore后运用httpClient登陆要权限的网址 最近在做一个豆瓣客户端的应用程序,做到一半时,发现我想要实现的一个功能因为豆瓣没有提供接口,而不能用HttpClient请求这个要拥有登陆权限的网页,后面在网上找资料,发现保存Cookie可以解决这个问题,非常兴奋,二话不说直接加代码: org.apache.http.HttpResponse response = clie
利用selenium登陆智联招聘,获取cookie
# -*- coding: utf-8 -*- import time import requests from pandas import Series, DataFrame import sys reload(sys) from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import We
HttpClient4.4.1模拟登录知乎
HttpClient4.4.1模拟登录知乎一,登录要Post的表单数据是什么这部分可以使用Wireshark工具来抓包就可以了,发现需要以下数据: > “_xsrf” = xxxx(这是一个变动的数据,需要先活取获取知乎首页源码来获得) “email” = 邮箱 “password” = 密码 “rememberme” = “y”(或者n也可以) 获取_xsrf数据: String xsr
通过selenium来模拟登录,获取登录后的cookies
需要登录的页面数据。 操作需要登录权限的资源。 Selenium webdriver 是一个用于web应用程序的自动化测试工具。 具有一系列的API来操作浏览器。 可以模拟用户操作页面元素。
urllib库利用cookie实现模拟登录慕课网
思路 1.首先在网页中使用账户和密码名登录慕课网 2.其次再分析请求头,如下图所示,获取到请求URL,并提取出cookie信息,保存到本地 3.最后在代码中构造请求头,使用urllib.request发送包含cookie信息的请求 源码 # !/usr/bin/env python # -*- coding:utf-8 -*- """ 使用Cokie模拟登录 """
用google浏览器模拟登录获取cookie并爬取数据
用google浏览器模拟登录获取cookie并爬取数据本人新手入门python,希望能共同进步转载请注明地址http://mp.blog.csdn.net/postedit/79423191模拟google登录是从 https://www.cnblogs.com/bethansy/p/7683130.html 这个博客上找到的,然而一直模拟登录爬取数据比较慢的,所以我想能不能获取cookie,然后...
commons-httpclient.jar的使用(Cookie的使用 )
package com.test;import org.apache.commons.httpclient.Cookie;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.NameValuePair;import org.apache.commons.httpclient.c
HttpClient模拟请求登录的jSessionId无法手动修改的问题
原因: 当jSessionId失效(发生改变)时必须重新new一个HttpClient 代码 import com.cotton.util.NumberUtil; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.comm
基于HttpClient的正方教务系统模拟登录(带验证码)
PS:恩,由于最近在学web和简单的http协议,所以心血来潮想用java写个爬虫来爬取学校官网(正方教务系统)个人主页的基础信息(课程信息、成绩……),其实在之前学过java基础教程的时候就可以写的,但后知后觉总是在当前阶段做之前阶段应该完成的任务!或许这就是菜鸟吧~~~。 写在前面:其实写java爬虫的话,一般使用三种方法:自带库类(urlconnection),外库(httpclient)和...
python 利用浏览器 Cookie 模拟登录的用户访问知乎
首先在火狐浏览器上登录知乎,然后使用火狐浏览器插件 Httpfox 获取 GET 请求的Cookie,这里注意使用状态值为 200(获取成功)的某次GET. 将 Cookies 复制出来,注意这一行非常长,不要人为添加换行符。而且 Cookie 中使用了双引号,最后复制到代码里使用单引号包起来。 使用下边代码检验是否是模拟了登录的用户的请求: import requests import
使用cookie绕过验证码进行模拟登录
1.工具 httpClient jar包 任意抓包工具 推荐 firefox的 firebug(非常好用)在使用httpClient进行模拟登录时,有时候会遇到需要输入验证码的情况。而对验证码进行识别的方法既费时效果还不好。这里提供一个取巧的方法,即使用浏览器登录时产生的cookie进行登录。2.上代码 首先是一个模拟http请求的工具类import java.io.IOException;
C#HttpClient或使用CookieContainer模拟登陆后HttpRequest不发送cookie的解决方法及原因
解决办法:为现有的CookieContainer手动添加在Host下设置的cookie,这样当我们访问任何其他子节点的时候,Cookies就能够正常发送了。
python实现简单爬虫模拟登录淘宝(cookie简介)
试验了一个晚上,python的小爬虫还是挺可爱的,简单
Scrapy中使用cookie免于验证登录和模拟登录
Scrapy中使用cookie免于验证登录和模拟登录引言 python爬虫我认为最困难的问题一个是ip代理,另外一个就是模拟登录了,更操蛋的就是模拟登录了之后还有验证码,真的是不让人省心,不过既然有了反爬虫,那么就有反反爬虫的策略,这里就先介绍一个cookie模拟登陆,后续还有seleminum+phantomjs模拟浏览器登录的文章。还不知道cookie是什么朋友们,可以点击这里 c
Scrapy框架爬虫模拟浏览器登录—获取框架Cookies
模拟浏览器登录start_requests()方法,可以返回一个请求给爬虫的起始网站,这个返回的请求相当于start_urls,start_requests()返回的请求会替代start_urls里的请求Request()get请求,可以设置,url、cookie、回调函数FormRequest.from_response()表单post提交,第一个必须参数,上一次响应cookie的respons...
phantomJS利用cookie实现自动登录
phantomjs是一个基于webkit内核的无头浏览器。即没有UI界面的一个浏览器,只是其内的点击、翻页等人为相关操作需要程序设计实现。PhantomJS提供JavaScript API接口,即通过编写js程序可以直接与webkit内核交互,在此之上可以结合Java语言等,通过Java语言调用js等相关操作。 cookie可以用来进行自动登录,原理大致是:第一次登录成功后,服务器会生成和该用户
selenium模拟登陆豆瓣并获取cookies
验证码处理与模拟登陆豆瓣,首先我们看到豆瓣没有cookies,我们需要用程序来模拟登陆获取cookies(当前有些情况下自己手动登陆后复制粘贴cookies也能登陆),该文主要讲方法,如何用selenium模拟登陆获取cookies1、输入用户名、密码点击登录,点击登录后跳转到另外一个验证码页面,并通过云打码进行验证码返回2、验证码返回后输入后通过字典推导式获取每个domain中的name和val...
使用httpclient模拟登录京东帐户并抓取帐户信息
这个,前几天有个人出2000软妹币让我做这个功能,应该是风控系统需要吧,我就鼓捣起来,先分析了一下京东的请求,发现未加密密码,呵呵呵呵呵呵,故意的吧喂,那我就不客气哦上代码: 主攻登录的:package clent.http;import java.io.File; import java.io.FileOutputStream; import java.io.IOException; impor
JAVA 模拟网页是登录
使用JAVA JSOUP解析网页获取cookie实现模拟登录
[置顶]Java丨jsoup网络爬虫模拟登录思路解析
直奔主题: 本篇文章是给有jsoup抓包基础的人看的...... 今天小编给大家写一篇对于jsoup抓包时需要输入验证码的解决方法之一。大神就绕道,嘿嘿~ 任何抓包的基础都是基于Http协议来进行这个抓包行为的,那么,在我们遇到验证码的时候怎么办呢?别着急,继续看 遇到需要验证码的这种情况怎么办:   例如我们要访问www.xxxxx.com这个网站需要你输入验证码,步骤如下: 1)首
Sina微博模拟登录获取Cookies
转自:http://blog.sina.com.cn/s/blog_53e1aa480101fj66.html 1.在登录之前我们需要先从新浪服务器获取两个变量:servertime,nonce。其中servertime中新浪的服务器时间,nonce是一个随机生成的字符串。获取的需要通过这样一个网络接口:http://login.sina.com.cn/sso/prelogin.php?en
利用java和浏览器导出的cookies进行模拟登录百度贴吧
这一久一直在尝试利用java写一个爬虫程序。java语言里面可以利用现成的工具包HttpClient+jsoup就能完成简单爬虫程序的编写。 爬虫程序的第一部就是“模拟登录”,模拟登录顾名思义也就是模拟浏览器提交表单的过程,因此需要对这个过程进行抓包分析,分析出在网站登录期间都提交了一些什么参数,然后利用这些参数构造相应的post请求;对于这种简单的抓包需求,我们用IE的F12开发者工具足够了用
python爬虫设置cookie模拟登录微博方法
#-*-coding:utf8-*- import requests from lxml import etree cook = {"Cookie": "此处请填写你获取到的Cookie"} ####使用fiddler进行抓包,或者查看元素中的网络均可找到cookie url = 'http://weibo.cn/u/xxxxxxxx' #此处请修改为微博网址(登陆后的网址)
淘宝网或阿里巴巴模拟登陆获取数据
近期,有人将本人博客,复制下来,直接上传到百度文库等平台。 本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度文库等平台。如有转载请注明本文博客的地址(链接)源码如有需要请联系:1563178220@qq.com所获得的数据如下图所示,为所要爬取的阿里巴巴供应商数据。在爬取之前必须模拟登陆阿里巴巴网站。 工程目录结构模拟登陆程序如下程序,主要采用selenium工具进行模拟
Python3网络爬虫(六):Python3使用Cookie-模拟登陆获取妹子联系方式
转载请注明作者和出处:http://blog.csdn.net/c406495762 运行平台:WindowsPython 版本:Python3.x IDE:Sublime text3
带cookie访问服务器实现模拟登录
当我们需要抓取需要登录的网站的信息或者实现模拟登录时,我们需要得到第一次登录网站的cookie,以便于下次登录可以不用post参数实现登录,只要将cookie放入头文件就好,这是之前写的模拟登录学校教务的代码,记录以便查阅。
HttpClient 模拟登录豆瓣网(有验证码)
我用的是HttpClient 4.3.1的版本 另外用到 json jar包 代码如下: package com.htt.douban; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import
Java HttpClient 实现自动登录与获取网页信息
用HttpGet获取网页上的信息: public void testGet(String url) throws ClientProtocolException, IOException { // TODO Auto-generated constructor stub HttpClient httpclient = new DefaultHttpClient(); HttpGet
HttpClient4 获取cookie
HttpClient4.x可以自带维持会话功能,只要使用同一个HttpClient且未关闭连接,则可以使用相同会话来访问其他要求登录验证的服务(见TestLogin()方法中的“执行get请求”部分)。 如果需要使用HttpClient池,并且想要做到一次登录的会话供多个HttpClient连接使用,就需要自己保存会话信息。因为客户端的会话信息是保存在cookie中的(JSESSIONID),所以
httpClient自动登录获取登录后的页面
用HttpClient 4.X来实现获取登录的页面比较容易,不需要获取Cookie值,默认浏览器HttpClient对象会自动保存Cookie信息,只要是用的一个HttpClient对象,在登录后,就可以获得想要的页面了。 我先用了Post方法,提交表单,模拟登录,后用了Get方法,获取登录后的信息。 这里要注意的是,Post方法用完后,需要释放HttpPost,否则无法再用HttpClien
HttpClient获取Cookie的两种方式
HttpClient获取Cookie的两种方式: DefaultHttpClient、CloseableHttpClient.
使用cookiejar模拟登录微博,获取登录后的页面数据
cookiejar; 模拟登录; 爬取微博;
Java--使用httpClient模拟登陆正方教务系统获取课表
首先,感谢这篇博文给了我思路:http://www.blogfshare.com/php-curl-zhengfang.html  最近形如课程格子与超表课程表应用如雨后春笋般涌现,他们自动获取课程表是怎么实现的呢。我用httpClient实现了一下 首先,我们先了解一下网站登录的原理:当我们输入学号,密码后点击登录后,浏览器会将我们输入的学号,密码,还有验证码等信息以post的形式发
相关热词 c#处理浮点数 c# 生成字母数字随机数 c# 动态曲线 控件 c# oracle 开发 c#选择字体大小的控件 c# usb 批量传输 c#10进制转8进制 c#转base64 c# 科学计算 c#下拉列表获取串口
立即提问