requests保持登录session ,cookie 和 token

一、request提供了一个一个叫做session的类,来实现客户端和服务端的会话保持

# coding:utf-8
import requests
url = "https://passport.cnblogs.com/user/signin"

headers = {
                  头部信息已省略

                   }
payload = {"input1":"xxx",
                "input2":"xxx",
                "remember":True}

s = requests.session()
r = s.post(url, json=payload, headers=headers,verify=False)
print r.json()

二、获取登录后的cookie 和 token

请求成功之后获取cookies,然后吧cookies存到固定配置文件里面

    def post(self):
        try:
            r = requests.post(self.url, headers=self.headers, params=self.params, data=self.data, timeout=float(timeout))
            # response.raise_for_status()
            result =decodeToBase64(r.content)
            response = json.loads(result)
            cookies = r.cookies.get_dict()   #  获取登录之后 cookie
            localReadConfig.set_headers("cookies", str(cookies))   #把cookie存到配置文件里面去
            return response
        except TimeoutError:
            self.logger.error("Time out!")
            return None

获取登录后的token

def login():
    """
    login
    :return: token
    """
    # set url
    url = common.get_url_from_xml(‘login‘)
    localConfigHttp.set_url(url)

    # set header
    token = localReadConfig.get_headers("token_v")
    header = {"token": token}
    localConfigHttp.set_headers(header)

    # set param
    data = {"email": localLogin_xls[0][3],
            "password": localLogin_xls[0][4]}
    localConfigHttp.set_data(data)

    # login
    response = localConfigHttp.post().json()
    token = common.get_value_from_return_json(response, "member", "token")
    return token

保持登录的接口请求,就获取cookie然后传到头部header里面去,token传到body里面去,然后就可以发布成功了。

原文地址:https://www.cnblogs.com/abdm-989/p/11930003.html

时间: 2024-08-29 10:11:21

requests保持登录session ,cookie 和 token的相关文章

步步为营-76-用户登录(Session+Cookie)

说明:cookie是保存在浏览器的.Session是存储在服务器的 1 同样UI页面还是web前端提供 1.1 首先,经过验证码校验:将系统产生的验证码放入到Session中,然后取Session值注意几点 1:放入Session时需要实现 IRequiresSessionState接口(因为是ashx,一般处理程序) 2:使用前先判断是否为空            3:用完验证码Session值注销(否则会有漏洞) using System; using System.Collections.

Cookie && Session && Token

Cookies Cookie的由来: HTTP 本身是一个无状态的 request/response 协议. server接收一个来自client的request, 处理完以后返回一个response. 可是这个过程中, server差点儿没有什么信息能够用来判定是哪个client(用户)发来的request, 也无法记录用户的请求顺序. Cookie是眼下识别用户.实现持久会话最好的方式.Cookie通常会跟User-Agent.Referer.X-Forwarded-For,JS等技术共同使

Http无状态?Session Cookie Token

HTTP无状态? HTTP无状态协议,是指协议对于交互性场景没有记忆能力. 在点击一个纯的html网页,请求获取服务器的html文件资源时,每次http请求都会返回同样的信息,因为这个是没有交互的每次请求都是相互独立的,第一个请求和第二个请求也没有先后顺序,返回处理哪个,结果都是同样的资源页面,因为这种场景是无交互的,无论是什么人请求那个资源,服务器都是一股脑的返回那个相同的文件. 但是对于涉及到动态交互的场景,就显得很尴尬了.何为交互?有来又有往,和上面的不一样,上面无论是谁请求同一个地址都是

【转】Session Cookie Token的区别

Cookie cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能. cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器.由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的. Session session 从字面上讲,就是会话.这个就类似

session 、cookie、token的区别及联系

session session的中文翻译是“会话”,当用户打开某个web应用时,便与web服务器产生一次session.服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁.这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失. cookie cookie是保存在本地终端的数据.cookie由服务器生成,发送给浏览器,浏览器把cookie以

自动登录:Filter,Session,Cookie综合例子

初始登录Servlet: package cn.xbai.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class

lnmp phpmyadmin登录提示Failed to set session cookie

问题 phpmyadmin提示Failed to set session cookie ,环境为lnmp1.6 , 解决: 查看lnmp日志,apache core 提示[core:notice] [pid 32072:tid 140644039464832] AH00052: child pid 875 exit si gbd调试,php的ssl登录部分问题 #0 0x00007f627fe0ef21 in free () from /usr/lib64/libc.so.6 #1 0x0000

认证 协议 JWT OAuth Session Cookie

本文翻译自Auth-Boss. 如果有翻译的不恰当或不对的地方, 欢迎指出. 成为一个认证老司机, 了解网络上不同的身份认证方法. 本文档的目的是记录和编目Web上的身份验证方法.认证指的是创建一个系统的过程,用户可以通过该系统"登录"在线服务,并授予对受保护资源的访问权限.以下引用可能更好地总结我想要解释的内容: 客户端认证涉及向Web上的服务器证明客户端(或用户)的身份.[1] How 我写作风格简洁,会用到一些技术词. 免责声明:本文档不作为包含所有认证方法的网络的目录;本文档也

redmine使用post登录,cookie使用

import re import requests # 基础url url = "http://192.168.200.180" # 登录url loginurl = url + "/redmine/login" # 通过登录页面获取登录需要的Cookie rs = requests.get(loginurl) print(rs.headers['Set-Cookie']) pagesource = rs.text Cookie = rs.headers['Set-