前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python接口自动化-5-重定向

Python接口自动化-5-重定向

作者头像
企鹅号小编
发布2018-02-01 11:12:57
8090
发布2018-02-01 11:12:57
举报
文章被收录于专栏:编程编程

什么是重定向

简单的理解:打开一个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"])

本文来自企鹅号 - 测试攻城狮style媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 测试攻城狮style媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档