欢迎关注微信公众号交流: 零基础学自动化测试 《接口测试自动化实战》--接口自动化书籍 https://yuedu.baidu.com/ebook/aaf72f1b42323968011ca300a6c30c225901f07d 欢迎阅读

Python接口自动化-重定向

上一篇 / 下一篇  2017-12-22 10:09:02

什么是重定向

简单的理解:打开一个URL跳转到另外个URL了,例如我们复制登录后地址到浏览器中打开,会跳转到登录页面,这既重定向。

常用的重定向方式有:301 redirect、302 redirect与meta. fresh。

--301 redirect::301 代表永久性转移(Permanently Moved)

--302 redirect::302 代表暂时性转移(Temporarily Moved )

--meta. fresh:其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之内),会被判断为spam。

默认情况下,除了 HEAD, Requests 会自动处理所有重定向。

可以使用响应对象的 history 方法来追踪重定向

来看个例子

  • 登录后百度的地址:http://i.baidu.com/

  • 返回了200,是因为requests 默认开启了重定向,地址指向:http://i.baidu.com/welcome

禁用重定向

如果你使用的是GET、OPTIONS、POST、PUT、PATCH 或者 DELETE,那么你可以通过 allow_redirects 参数禁用重定向处理:allow_redirects=False

返回302

获取未被重定向的地址

在设置成allow_redirects=False 后,我们打印出返回的response的headers中location地址

示例代码

# -*- coding:utf-8 -*-
importrequests

r = requests.get('http://i.baidu.com/',allow_redirects=False)
print(r.url)
print(r.status_code)
print(r.headers)
print(r.headers["location"])


TAG:

cq520131517的个人空间 引用 删除 cq520131517   /   2017-12-26 10:05:04
虽然没有用到,但是学习了
cq520131517的个人空间 引用 删除 cq520131517   /   2017-12-26 10:05:02
3
 

评分:0

我来说两句

Miss_love

Miss_love

《接口测试自动化实战》-接口测试书籍 https://yuedu.baidu.com/ebook/aaf72f1b42323968011ca300a6c30c225901f07d

日历

« 2024-03-26  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 24755
  • 日志数: 24
  • 图片数: 1
  • 建立时间: 2017-09-11
  • 更新时间: 2019-12-04

RSS订阅

Open Toolbar