requests重定向

在python的requests文库中介绍到了重定向,并解释了重定向的用法,但是对于我们这些小白来说,重定向意味着什么,重定向作用是什么?
于是今天便深入研究requests模块重定向深入用法

谈到重定向,这里要从http状态码谈起。
状态码
状态码是网页服务器http响应的3位数字代码。
常见状态码分为

状态码内容
200请求成功,服务器已经将请求的响应头和数据返回
201请求成功,服务器已经创建新的资源,并将数据返回
202请求成功,但是服务器尚未处理
301请求成功,服务器将请求资源永久转移到新的位置,并且下次会自动转移到新的位置
302请求成功,服务器将请求资源临时转移到新的位置,但是下次访问请求者会访问原来的位置
304请求成功,但是服务器不会做任何的修改,也不会返回任何响应内容
401服务器需要验证身份才能相应
403服务器收到请求,但是拒绝返回信息
404请求失败,服务器没有找到任何关于响应的内容
501服务器无法完成对请求的处理
503服务器午饭完成对请求的处理,也许是过载的问题,但是一会儿就会恢复

ps(吐槽一下,学校服务器水做的,选课的时候常常响应503)
回归正题,requests重定向表示的是响应码301和响应码302,比如,我们在访问
"http://www.baidu.com"的时候服务器会返回一个301永久重定向的状态码,大家都知道http是不安全的,https足够安全,所以百度服务器会讲浏览器永久重定向到"https://www.baidu.com"中,以后访问浏览器会直接访问新地址。
而302是零时重定向就是零时转移地址,下一次还会访问这个地址,一个通俗易懂的方法就是
301重定向:在现实生活中我们搬家了,以后朋友想找你玩,就去你新家
302重定向:现实生活中,朋友找你玩,你在二狗家玩,朋友就去二狗那边找你,但是下次来还会到你家找你。
我们在requets进行模拟登陆的时候,有时候服务器会自动重定向到新的网页,,比如,有的网站有广告,这些广告奇烦无比,会自动帮你访问的网站转移到新的网站,如果我们想访问之前的网页,怎么做?
就在我们requests.get(url)中添加allow_redirects=False,python默认情况下是True
ps(访问有认证的网页,只需要自定义请求头就可以了,比如,爬qq邮箱的时候。)

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值