我有以下代码可以回发到远程URL:request=urllib2.Request('http://www.example.com',postBackData,{'User-Agent':'MyUserAgent'})try:response=urllib2.urlopen(request)excepturllib2.HTTPError,e:checksLogger.error('HTTPError='+str(e.code))excepturllib2.URLError,e:checksLogger.error('URLError='+str(e.reason))excepthttpl
我在urllib2的urlopen中使用timeout参数。urllib2.urlopen('http://www.example.org',timeout=1)我如何告诉Python如果超时到期,应该引发自定义错误?有什么想法吗? 最佳答案 在极少数情况下您想使用except:。这样做会捕获any异常,这可能很难调试,它会捕获异常,包括SystemExit和KeyboardInterupt,这会使您的程序烦人使用..在最简单的情况下,您会捕获urllib2.URLError:try:urllib2.urlopen("http://
我想在使用urllib2.urlopen(..)时在我的请求中发送一个自定义的“Accept”header。我该怎么做? 最佳答案 不完全是。创建Request对象实际上并不发送请求,并且Request对象没有Read()方法。(另外:read()是小写的。)您需要做的就是将Request作为第一个参数传递给urlopen()并且会给你你的回应。importurllib2request=urllib2.Request("http://www.google.com",headers={"Accept":"text/html"})con
我是Python新手,正在阅读别人的代码:urllib.urlopen()后面应该跟urllib.close()吗?否则,会泄漏连接,对吗? 最佳答案 close方法必须在urllib.urlopen的result上调用,不是在urllib上您正在考虑的模块本身(正如您提到的urllib.close-它不存在)。最好的方法:而不是x=urllib.urlopen(u)等等,使用:importcontextlibwithcontextlib.closing(urllib.urlopen(u))asx:...usexatwillhere
我正在使用urllib2通过HTTP获取页面。有时,当我的请求包含错误时,资源会引发HTTP错误400(错误请求)。但是,该响应还包含一个提供详细错误消息的XML元素。能够看到该错误而不仅仅是urllib2返回的HTTPError异常会非常方便。如何在异常情况下返回文档内容? 最佳答案 importurllib2try:request=urllib2.Request('http://www.somesite.com')response=urllib2.urlopen(req)excepturllib2.HTTPErrorase:er
我正在使用data=urllib2.urlopen(url).read()我想知道:如何判断URL中的数据是否经过gzip压缩?urllib2是否会自动解压缩gzip后的数据?数据会一直是字符串吗? 最佳答案 HowcanItellifthedataataURLisgzipped?这会检查内容是否被压缩并解压缩:fromStringIOimportStringIOimportgziprequest=urllib2.Request('http://example.com/')request.add_header('Accept-enc
我打开网址:site=urllib2.urlopen('http://google.com')而我想做的是以同样的方式与代理连接我在某个地方告诉我:site=urllib2.urlopen('http://google.com',proxies={'http':'127.0.0.1'})但这也没有用。我知道urllib2有类似代理处理程序的东西,但我不记得那个功能了。 最佳答案 proxy=urllib2.ProxyHandler({'http':'127.0.0.1'})opener=urllib2.build_opener(pr
好的,所以我需要使用Python下载一些网页并快速调查我的选项。包含在Python中:urllib-在我看来,我应该改用urllib2。urllib不支持cookie,仅支持HTTP/FTP/本地文件(无SSL)urllib2-完整的HTTP/FTP客户端,支持cookies等最需要的东西,不支持所有的HTTP动词(只有GET和POST,没有TRACE等)功能齐全:mechanize-可以使用/保存Firefox/IEcookie,采取跟随第二个链接等操作,积极维护(2011年3月发布的0.2.5)PycURL-支持curl所做的一切(FTP、FTPS、HTTP、HTTPS、GOPHE
我正在为Mac运行Python3.5.1。我想使用urllib2模块。我尝试安装它,但我被告知它已被拆分为Python3的urllib.request和urllib.error。我的命令(暂时从框架bin目录运行,因为它不在我的路径中):sudo./pip3installurllib.request返回这个:Couldnotfindaversionthatsatisfiestherequirementurllib.request(fromversions:)Nomatchingdistributionfoundforurllib.request我之前尝试一举安装urllib2时遇到了同
我想使用urllib.quote()。但是python(python3)没有找到该模块。假设,我有这行代码:print(urllib.quote("châteu",safe=''))如何导入urllib.quote?导入urllib或importurllib.quote都给AttributeError:'module'objecthasnoattribute'quote'让我困惑的是urllib.request可以通过importurllib.request访问 最佳答案 在Python3.x中,您需要导入urllib.parse.