模拟登录

知乎登录来学习cookie和sessions

╄→гoц情女王★ 提交于 2020-04-16 11:32:31
【推荐阅读】微服务还能火多久?>>> 简单的学习http.cookiejar的使用,因为浏览器与服务器直接连接是非连续的,我们没连接一次,服务器认证一次返回数据。那问题来了,每次连接都需要认证一番!这个时候cookie就是解决这个问题,一用户多次登录同网站页面认证问题的,每次连接都把cookie的小文本传去就可以登录。 这个过程中,cookie是存放在用户浏览器里面的,浏览器与服务器端直接传输cookie的用户名,密码等是非常不安全的,那session就能很好解决。session是存放到服务器端,cookie中存放一个session_key,在通过session_key到服务器端查找存放的用户、密码、cookie过期时间等。这样就要安全非常多了。 在写爬虫过程中,我们需要多次连接的就用session来连接,把cookie存起来,每次连接都用他。 import re,requests from lxml import etree import http.cookiejar as cookielib user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36' header =

HttpClient4.4 登录知乎(详细过程)

被刻印的时光 ゝ 提交于 2019-12-04 00:54:07
引言 HttpClient是java语言下一个支持http协议的客户端编程工具包,它实现了HTTP协议的所有方法,但是不支持JS渲染。我们在做一些小玩意时,有可能需要登录某些网站获取信息,那么HttpClient就是你的好帮手,废话不多说,进入实战。 一 登录的实际意义 在HTTP横行的今天,我们每天都要登录一些网站,那么登录的意义是什么呢?首先要对cookie要有一定了解。cookie是存放在本地的一些小文件,它由服务器发送命令,浏览器在本地读写。当访问某些网站的时候,浏览器会检查是否有所浏览网站的cookie信息,如果有则在发送访问请求的时候携带上这些内容,服务器可以读取到浏览器发送请求中的cookie信息,在回应请求时可以再写cookie信息。cookie信息包括键值,内容,过期时间,所属网站。 说到这里cookie差不多讲完了,那么登录到底是怎么回事?登录就是服务器向你的浏览器写cookie,如果仅仅是在你的计算机上写cookie,那么别有用心的人伪造一个cookie也有机会登录网站,所以服务器会在内存中保留一份相同的信息,这个过程叫做会话。如果你在网站点击退出按钮,服务器会把内存中的cookie清除掉,同时清除浏览器中有关登录的cookie。知道了这些,我们就可以上手了。 二 找到登录关键cookie 这里我们可以用wireshark来抓包分析一下。打开知乎首页