python的urllib.request模块


urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

  该方法用来进行发起请求url,返回的结果是一个http.client.HTTPRequest对象。

  参数:  url:可以是一个url的字符串/Request对象

              data:是bytes类型的数据,作为post请求时的数据(方法:urllib.parse.urlencode(字典对象).encode('utf-8'))

              timeout:设置请求超时时间,单位是秒

            

urllib.request.Request(url,data=None,headers=[],origin_req_host=None,unverifiable=False,method=None)

  Request类用来构建一个更加完整的请求(请求中可以添加请求头、请求指定的方式等)。

  参数:  url:是一个url的字符串

              data:与urlopen()方法相同

              headers:指定发起请求的头部信息,是一个字典。还可以使用Request对象的add_header()方法添加请求头。

              method:指定HTTP请求的方式,GET、POST、DELETE、PUT等

              origin_req_host:指定请求方的host名称/ip地址


urllib.request.build_opener(handlers)

  该方法创建一个opener对象,参数handlers用来构建更多功能的请求(使用代理、cookie等)。

  参数:handlers(即处理器),是一个类。所有的handlers都是urllib.request.BaseHandler类的子类,该类提供了最基本的handler的方法。

   handlers的例子:

                              1、ProxyHandler:为请求设置代理

                              2、HTTPCookieProcessor:处理http请求中的cookie

                              3、HTTPRedirectHandler:处理http重定向


urllib.request.install_opener(opener)

  该方法会安装一个opener实例,作为全局默认的opener。即当使用urllib.request.urlopen()方法时,会使用创建的opener,而不是使用默认的自带的opener---安装后,才能有更多的请求的处理功能。(使用opener的open()方法时,不需要安装全局opener也会有更多的请求的处理功能)

  







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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值