python 中的urllib2.urlopen()方法

问题描述

python 中的urllib2.urlopen()方法

python中,urllib2中的urlopen()方法可以这样用:

response=urllib2.urlopen("http://www.baidu.com")
html=response.read()

也可以这样用:先创建一个Request对象

request=urllib2.Request("http://www.baidu.com")
response=urllib2.urlopen(request)
html=response.read()

查看urllib2.urlopen()方法:

urlopen(url, data=None, timeout=<object object>, cafile=None, capath=None, cadefault=False, context=None)

其中并没有Request类型的参数,但是为什么可以这样用呢?

解决方案

有没有人知道呢,求帮助?

解决方案二:

看下实际的调用就知道了
实际调用的还是Request
def open(self, fullurl, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT):
# accept a URL or a Request object
if isinstance(fullurl, basestring):
req = Request(fullurl, data)
else:
req = fullurl
if data is not None:
req.add_data(data)

    req.timeout = timeout
    protocol = req.get_type()

时间: 2024-10-30 01:43:11

python 中的urllib2.urlopen()方法的相关文章

Python中操作时间之strptime()方法的使用

  这篇文章主要介绍了在Python中操作时间之strptime()方法的使用,是Python入门学习中的基础知识,需要的朋友可以参考下 strptime()方法分析表示根据格式的时间字符串.返回值是一个struct_time所返回gmtime()或localtime(). 格式参数使用相同的指令使用strftime();它默认为"%a %b %d %H:%M:%S %Y"相匹配的ctime()所返回的格式. 如果字符串不能按格式进行解析,或者如果它具有解析后多余的数据,ValueEr

在Python中操作时间之tzset()方法的使用教程

  这篇文章主要介绍了在Python中操作时间之tzset()方法的使用教程,是Python学习中的基础知识,需要的朋友可以参考下 tzset()方法重置所使用的库例程的时间转换规则.环境变量TZ指定如何完成此操作. TZ环境变量的标准格式(空格为清楚起见而加的): 代码如下: std offset [dst [offset [,start[/time], end[/time]]]] std和dst: 三个或更多的字母数字给人的时区缩写.这些将被传播到time.tzname. offset: 偏

python中base64加密解密方法实例分析

  本文实例讲述了python中base64加密解密方法.分享给大家供大家参考.具体分析如下: 一.base64 Base64是一种基于64个可打印字符来表示二进制数据的表示方法.由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符.三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示.它可用来作为电子邮件的传输编码.在Base64中的可打印字符包括字母A-Z.a-z.数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统中而不同.编码

Python中使用partial改变方法默认参数实例

  这篇文章主要介绍了Python中使用partial改变方法默认参数实例,本文直接给出使用实例,代码中包含详细注释,需要的朋友可以参考下 Python 标准库中 functools库中有很多对方法很有有操作的封装,partial Objects就是其中之一,他是对方法参数默认值的修改. 下面就看下简单的应用测试. 代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- #python2.7x #partial.py #authror: orang

Python中的对象,方法,类,实例,函数用法分析_python

本文实例分析了Python中的对象,方法,类,实例,函数用法.分享给大家供大家参考.具体分析如下: Python是一个完全面向对象的语言.不仅实例是对象,类,函数,方法也都是对象. 复制代码 代码如下: class Foo(object):     static_attr = True     def method(self):         pass foo = Foo() 这段代码实际上创造了两个对象,Foo和foo.而Foo同时又是一个类,foo是这个类的实例. 在C++里类型定义是在编

全面了解python中的类,对象,方法,属性_python

python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性(特征)和行为来描述一个对象的.比如家里的小狗,它的颜色,大小,年龄,体重等是它的属性或特征.它会汪汪叫,会摇尾巴等是它的行为. 我们在描述一个真实对象(物体)时包括两个方面: 它可以做什么(行为) 它是什么样的(属性或特征). 在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象

python中列表元素连接方法join用法实例_python

本文实例讲述了python中列表元素连接方法join用法.分享给大家供大家参考.具体分析如下: 创建列表: >>> music = ["Abba","Rolling Stones","Black Sabbath","Metallica"] >>> print music 输出: ['Abba', 'Rolling Stones', 'Black Sabbath', 'Metallica']

python中List的sort方法指南_python

简单记一下python中List的sort方法(或者sorted内建函数)的用法.  List的元素可以是各种东西,字符串,字典,自己定义的类等. sorted函数用法如下: sorted(data, cmp=None, key=None, reverse=False)  其中,data是待排序数据,可以使List或者iterator, cmp和key都是函数,这两个函数作用与data的元素上产生一个结果,sorted方法根据这个结果来排序. cmp(e1, e2) 是带两个参数的比较函数, 返

python中getattr函数使用方法 getattr实现工厂模式_python

看了下函数本身的doc 复制代码 代码如下: getattr(object, name[, default]) -> value Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y. When a default argument is given, it is returned when the attribute doesn't exist; without it, an exception i