重定向

作者: OTL | 来源:发表于2019-12-03 14:46 被阅读0次

一、重定向

1. (Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置,从地址A跳转到地址B了。

2.重定向状态码:

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

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

3.举个简单的场景案例,先登录博客园打开我的博客首页,进我的随笔编辑界面,记住这个地址:https://i.cnblogs.com/EditPosts.aspx?opt=1

4.退出博客园登录,把刚才我的随笔这个地址输入浏览器回车,抓包会看到这个请求状态码是302,浏览器地址栏瞬间刷新跳到登录首页去了

二、禁止重定向(allow_redirects)

1.用get方法请求:https://i.cnblogs.com/EditPosts.aspx?opt=1

2.打印状态码是200,这是因为requets库自动处理了重定向请求了

3.自动处理重定向地址后,我们就获取不到重定向后的url了,就无法走下一步,这里我们可以设置一个参数禁止重定向:allow_redirects=False

(allow_redirects=True是启动重定向),然后就可以看到status_code是302了

三、获取重定向后地址

1.在第一个请求后,服务器会下发一个新的请求链接,在response的headers里,如下抓包:Location

2.用脚本去获取Location地址

四、参考代码:

# coding:utf-8

import requests

# 请求头

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"

}

s = requests.session()

# 打开我的随笔

r = s.get('https://i.cnblogs.com/EditPosts.aspx?opt=1',

headers=headers,

allow_redirects=True,

verify=False)

# 打印状态码,自动处理重定向请求

print r.status_code

new_url = r.headers["Location"]

print new_url

相关文章

  • 第07章重定向管道

    输出重定向案例 > < 脚本中使用重定向 2.输入重定向及结合案例 管道 | 重定向和管道的符号对比。重定向输出到...

  • shell 笔记 Day1

    重定向: (覆盖重定向), >>(追加重定向) , 2>(重定向错误信息) , &>(错误正确都重定...

  • 《Linux就该这么学 》笔记(六)| 管道符、重定向和环境变量

    1. 重定向 重定向技术的 5 种模式 标准覆盖输出重定向 标准追加输出重定向 错误覆盖输出重定向 错误追加输出重...

  • 永久性重定向和302临时性重定向

    什么是重定向? 所谓重定向就是将网页自动转向重定向,即:301永久性重定向和302临时性重定向。实施301后,新网...

  • 2019-06-13 重定向301和302

    什么是重定向? 所谓重定向就是将网页自动转向重定向,即:301永久性重定向和302临时性重定向。实施301后,新网...

  • 重定向

    输出重定向 输入重定向 错误重定向 管道 shell中特殊符号

  • Linux重定向day13

    1.重定向概述2.重定向的输出输入3.进程管道技术 一、重定向概述 什么是重定向:Linux重定向是指修改原来默认...

  • Linux高级

    一.重定向命令 学习目标 能够使用重定向命令将终端显示内容重定向到文件 1. 重定向命令的介绍 重定向也称为输出重...

  • vue-router -其他

    一、 重定向 重定向也是通过 routes 配置来完成,下面例子是从 /me重定向到/home`: 重定向的目标也...

  • uos 输入输出与重定向

    1、实验-输出重定向 2、实验-错误重定向 3、实验-双重输出重定向 4、实验-输入重定向 5、实验-管道 6、实...

网友评论

      本文标题:重定向

      本文链接:https://www.haomeiwen.com/subject/rvpcgctx.html