Python接口自动化【requests处理Token请求】
首先说一下使用python模拟登录或注册时,对于带token的页面怎么登录注册模拟的思路:
1、对于带token的页面,需要先从最开始的页面获取合法token
2、然后使用获取到的合法token进行后续操作
3、token一般存储的地方有两个:
【一种是携带在cookie中】
【一种是在respose(页面返回)的隐藏表单中】,获取思路类似
释:header是针对服务端有各种限制或特定需求时使用的,一般服务器会进行类似如:X-Requested-With、Content-Length、User-Agent等的验证,所以需要将其以字典的形势发送给服务器
#coding:utf-8
'''
Created on @author: Administrator
'''
import json
import requests #拼接url
host = "http://192.168.1.112:3100/"
#初始化url请求对象
r = requests.get(host)
#获取url请求对象中的有用信息,如token、cookies
token = r.cookies.items()[0][1]
cookies = r.cookies
#以下为测试,所获取的token及cookie的格式
print(type(token)) #获取token的类型
print(token) #打印token
print(cookies) #打印cookies
print(r.headers) #打印头文件
print(r.url) #打印URL
控制台输出结果:
<type 'str'>
h2r_bATY0wEkAAAAMzkyYmUwYWItZGRmNC00ODk4LTlkNWMtYzY5ZDczNGRkMTg1EKBHlvGpVQ_F9e1Kc4k94ZQ_qMERlCAGT4qt6KKMKP81
<RequestsCookieJar[<Cookie .ASPXANONYMOUS=h2r_bATY0wEkAAAAMzkyYmUwYWItZGRmNC00ODk4LTlkNWMtYzY5ZDczNGRkMTg1EKBHlvGpVQ_F9e1Kc4k94ZQ_qMERlCAGT4qt6KKMKP81 for 192.168.1.112/>, <Cookie __RequestVerificationToken=ahgQd20TJe1CIuaaL_uKxGP0IXv1TV4u7mqJHNfMavwucOuPpPOT8afHWcCWSstyuO41ihaynmGwFtjgj8H5upPi1LmEcHrEj5moWCkCCfPIUaHpjCJt2P-Ng62LjNfdfDHY0FiDcAf8fk8eamboNw2 for 192.168.1.112/>]>
{'Content-Length': '', 'Set-Cookie': '.ASPXANONYMOUS=h2r_bATY0wEkAAAAMzkyYmUwYWItZGRmNC00ODk4LTlkNWMtYzY5ZDczNGRkMTg1EKBHlvGpVQ_F9e1Kc4k94ZQ_qMERlCAGT4qt6KKMKP81; expires=Thu, 19-Apr-2018 17:32:44 GMT; path=/; HttpOnly, .ASPXAUTH=; expires=Mon, 11-Oct-1999 16:00:00 GMT; path=/; HttpOnly, __RequestVerificationToken=ahgQd20TJe1CIuaaL_uKxGP0IXv1TV4u7mqJHNfMavwucOuPpPOT8afHWcCWSstyuO41ihaynmGwFtjgj8H5upPi1LmEcHrEj5moWCkCCfPIUaHpjCJt2P-Ng62LjNfdfDHY0FiDcAf8fk8eamboNw2; path=/; HttpOnly', 'Server': 'Microsoft-IIS/7.5', 'Cache-Control': 'private', 'Date': 'Fri, 09 Feb 2018 06:52:44 GMT', 'Content-Type': 'text/html; charset=utf-8'}
http://192.168.1.112:3100/

Python接口自动化【requests处理Token请求】的更多相关文章
- python接口自动化26-发xml格式post请求《转载》
python接口自动化26-发xml格式post请求 https://cloud.tencent.com/developer/article/1164987
- python接口自动化1-发送get请求
前言 requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来就是学习它了. 一.环境安装 1.用pip安装requests模块 >>pip in ...
- python接口自动化25-发xml格式post请求
前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded appl ...
- python接口自动化1-发送get请求【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E ...
- 【python接口自动化-requests库】【三】优化重构requests方法
一.重构post请求方法 上一张讲了如何使用requests库发送post请求,但是有时候,我们写脚本,不可能这么简单,代码完全不可复用,重复工作,那我们是不是可以想象,把我们的get,post请求, ...
- 【python接口自动化-requests库】【二】requests库简单使用(入门)
一.post请求 前面讲了,我们get请求的时候,引入requests的包,然后直接使用get方法,那么post是不是一样的? 1.首先我们先引入requests import requests 2. ...
- Python接口自动化--requests 2
# _*_ encoding:utf-8 _*_ import json import requests #post请求 payload = {"cindy":"hell ...
- Python接口自动化--requests 1
# _*_ encoding:utf-8 _*_ import requests #请求博客园首页,无参数的get请求 r = requests.get('http://www.cnblogs.com ...
- python接口自动化2-发送post请求
发送post的请求参考例子很简单,实际遇到的情况却是很复杂的,首先第一个post请求肯定是登录了,但登录是最难处理的.登录问题解决了,后面都简单了. 一.查看官方文档 1.学习一个新的模块,其实不用去 ...
- python接口自动化2-发送post请求详解(二)
前言 发送post的请求参考例子很简单,实际遇到的情况却是很复杂的,首先第一个post请求肯定是登录了,但登录是最难处理的.登录问题解决了,后面都简单了. 一.查看官方文档 1.学习一个新的模块,其实 ...
随机推荐
- java中的数据加密1 消息摘要
消息摘要(Message Digest) 又称为数字摘要(Digital Digest).它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生.如果消息在途中 ...
- Halcon的数据类型
两大类: 1.图形参数Iconic (image, region, XLD) 2.与控制参数Control (string, integer, real, handle), 在Halcon算子的参数中 ...
- Java8学习笔记(五)--Stream API详解[转]
为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念.它也不同于 StAX 对 ...
- thinkphp5 memcached 安装、调用、链接
环境 linux memcached1.5.9 (memcached安装在虚拟机192.168.70.164) wampserver集成环境 thinkphp5 php7 步骤一:linux安装me ...
- Fiddler 使用命令行
在 Fiddler 界面左下角处,可以输出一些快捷命令,常用的快捷命令如下: help:查看命令帮助cls:清屏,即清空会话列表中的所有会话select:选择某一类型的会话,如 select html ...
- OpenGL——二维几何变换
平移.旋转.缩放的实现 #include<iostream> #include <math.h> #include<Windows.h> #include < ...
- sencha touch 免费培训视频
之前的收费视频现在免费了 sencha touch版本:2.3.1 第一期:https://pan.baidu.com/s/1kUK4OFP 第二期:https://pan.baidu.com/s/1 ...
- Windows下MySQL的绿化与精简
MySQL本身就支持安装使用,本文只是对自己使用免安装版MySQL的经历记录下来,以便以后查看. 首先是获取Windows下的MySQL免安装版本,这个需要去到MySQL官网进行下载.我一般喜欢把首页 ...
- javaweb学习之建立简单网站
看到很多网站,论坛等,很实用,想做一个,比如中国图书网,它们的共同特点是运行在浏览器中. 最简单可行的技术就是jsp实现,但是jsp虽然可以在服务器端显示,在客户端连接数据库,且客户端和服务器端要完成 ...
- git diff命令详解
1 如下命令: [devel@localhost pontus]$ git diff webserver/web_pontus/app_api/v0/urls.py# 显示如下: diff --git ...