首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在python3 urllib.request中禁用自动重定向?

在Python3的urllib.request模块中,可以通过设置HTTPRedirectHandler类的实例来禁用自动重定向。具体步骤如下:

  1. 导入urllib.request模块:
代码语言:txt
复制
import urllib.request
  1. 创建一个自定义的HTTPRedirectHandler子类,重写其redirect_request()方法,使其返回None,从而禁用自动重定向:
代码语言:txt
复制
class NoRedirectHandler(urllib.request.HTTPRedirectHandler):
    def redirect_request(self, req, fp, code, msg, headers, newurl):
        return None
  1. 创建一个自定义的urllib.request.OpenerDirector对象,将NoRedirectHandler实例添加到其处理器列表中:
代码语言:txt
复制
opener = urllib.request.build_opener(NoRedirectHandler)
  1. 使用opener对象发送请求,即可禁用自动重定向:
代码语言:txt
复制
response = opener.open(url)

完整的代码示例如下:

代码语言:txt
复制
import urllib.request

class NoRedirectHandler(urllib.request.HTTPRedirectHandler):
    def redirect_request(self, req, fp, code, msg, headers, newurl):
        return None

opener = urllib.request.build_opener(NoRedirectHandler)
response = opener.open(url)

这样,使用urllib.request发送的请求将不会自动重定向。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 002:Python爬虫Urllib库全面分析

    Python中有一个功能强大,用于操作URL,并且在爬虫中经常使用的库、就是Urllib库。 (在python2的时候,有Urllib库,也有Urllib2库。Python3以后把Urllib2合并到了Urllib中) 合并后,模块中有很多的位置变动。我在这里先介绍一些常用的改动。 Python2: import urllib2 >>>>>Python3:import urllib.request,urllib.error Python2:import urllib >>>>>Python3:import urllib.request,urllib.error,urllib.parse Python2:import urlparse >>>>>Python3:import urllib.parse Python2:urllib2.urlopen >>>>>Python3:urllib.request.urlopen Python2:urllib.urlencode >>>>>Python3:urllib.request.urlencode Python2:urllib.quote >>>>>Python3:urllib.request.quote Python2:cookielib.CookieJar >>>>>Python3:http.CookieJar Python2:urllib.Request >>>>>Python3:urllib.request.Request 以上是Urllib中常用命令的一些变动。如果之前没有Urllib的基础也没关系,本文后面会详细介绍这些代码的具体应用,以及其实现的各种功能。

    01
    领券