标签: urllib2

如何让urllib2记录所有传输的字节

我正在编写一个使用多个第三方Web API的网络应用程序,我想跟踪低级别请求和广告分析的响应.所以我正在寻找一个能让Python的urllib2记录通过HTTP传输的所有字节的配方.也许是一个次级的Handler?

python logging http urllib2

19
推荐指数
1
解决办法
3704
查看次数

使用urllib2的客户端证书

我需要在服务器和远程Web服务之间创建一个安全通道.我将使用带有客户端证书的HTTPS.我还需要验证远程服务提供的证书.

  1. 如何在urllib2中使用自己的客户端证书?

  2. 我需要在代码中做些什么才能确保远程证书正确无误?

python ssl certificate urllib2 mutual-authentication

19
推荐指数
3
解决办法
2万
查看次数

如何调试使用基本身份验证处理程序的urllib2请求

我正在使用的请求urllib2HTTPBasicAuthHandler像这样:

import urllib2

theurl = 'http://someurl.com'
username = 'username'
password = 'password'

passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, theurl, username, password)

authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)

params = "foo=bar"

response = urllib2.urlopen('http://someurl.com/somescript.cgi', params)

print response.info()
Run Code Online (Sandbox Code Playgroud)

我正在httplib.BadStatusLine运行此代码时遇到异常.我怎么去调试?有没有办法看到原始响应是什么,无论无法识别的HTTP状态代码?

python debugging urllib2 basic-authentication

19
推荐指数
1
解决办法
2万
查看次数

urllib2 HTTP错误400:错误请求

我有一段这样的代码

host = 'http://www.bing.com/search?q=%s&go=&qs=n&sk=&sc=8-13&first=%s' % (query, page)
req = urllib2.Request(host)
req.add_header('User-Agent', User_Agent)
response = urllib2.urlopen(req)
Run Code Online (Sandbox Code Playgroud)

当我输入一个大于一个单词的查询,如"狗"时,我得到以下错误.

response = urllib2.urlopen(req)
File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 400, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 513, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 438, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 372, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 521, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) …
Run Code Online (Sandbox Code Playgroud)

python urllib2 http-error

19
推荐指数
2
解决办法
9万
查看次数

如何从内存缓冲区(StringIO)或使用opencv python库的url读取映像

只需共享一种从内存缓冲区或url创建opencv图像对象的方法,以提高性能.

有时我们会遇到图像二值从网址,以避免额外的文件IO,我们要imread从内存缓冲或网址这一形象,但imread只支持从路径文件系统中读取图像.

opencv numpy image urllib2 stringio

19
推荐指数
2
解决办法
2万
查看次数

ImportError:没有名为'urllib2'Python 3的模块

下面的代码在Python 2上工作正常但在Python 3上我得到错误:

"ImportError:没有名为'urllib2'的模块"

import urllib2    
peticion = 'I'm XML'
url_test = 'I'm URL'
req = urllib2.Request(url=url_test,
                      data=peticion,
                      headers={'Content-Type': 'application/xml'})
respuesta = urllib2.urlopen(req)
print(respuesta)
print(respuesta.read())
respuesta.open()
Run Code Online (Sandbox Code Playgroud)

请告诉我错误的原因.

谢谢.

python urllib2 python-3.5

19
推荐指数
1
解决办法
7万
查看次数

ValueError:urllib2中的未知url类型,但如果在浏览器中打开则url很好

基本上,我试图在python中使用urllib2下载URL.

代码如下:

import urllib2
req = urllib2.Request('www.tattoo-cover.co.uk')
req.add_header('User-agent','Mozilla/5.0')
result = urllib2.urlopen(req)
Run Code Online (Sandbox Code Playgroud)

它输出ValueError,程序会破坏示例中的URL.当我在浏览器中访问URL时,它工作正常.

任何想法如何处理问题?

更新:

感谢Ben James和......检测到问题=>添加'http://'

现在问题得到改进:是否可以使用一些内置函数自动处理此类情况,或者我必须使用后续字符串连接进行错误处理?

python urllib2 httprequest

18
推荐指数
2
解决办法
4万
查看次数

在运行数小时后永久"名称解析暂时失败"

在Linux上运行了几个小时后,我使用urllib2,httplib和线程的Python 2.6程序开始为每个请求引发此错误:

<class 'urllib2.URLError'> URLError(gaierror(-3, 'Temporary failure in name resolution'),)

如果我重新启动程序,它会再次开始工作.我的猜测是某种资源枯竭但我不知道如何检查它.我该如何诊断和解决问题?

python urllib2 httplib

18
推荐指数
1
解决办法
1万
查看次数

在urllib2.request()调用上设置超时

我需要设置超时urllib2.request().

我不使用,urllib2.urlopen()因为我使用的data参数request.我怎么设置这个?

python urllib2

18
推荐指数
1
解决办法
3万
查看次数

Python Urllib2 SSL错误

Python 2.7.9现在对SSL证书验证要严格得多.真棒!

以前工作的程序现在收到CERTIFICATE_VERIFY_FAILED错误,我并不感到惊讶.但我似乎无法让它们工作(没有完全禁用证书验证).

一个程序使用urllib2通过https连接到Amazon S3.

我将根CA证书下载到名为"verisign.pem"的文件中并尝试以下操作:

import urllib2, ssl
context = ssl.create_default_context()
context.load_verify_locations(cafile = "./verisign.pem")
print context.get_ca_certs()
urllib2.urlopen("https://bucket.s3.amazonaws.com/", context=context)
Run Code Online (Sandbox Code Playgroud)

即使在第4行正确打印出根CA,我仍然会收到CERTIFICATE_VERIFY_FAILED错误.

openssl可以很好地连接到这台服务器.实际上,这是我用来获取CA证书的命令:

openssl s_client -showcerts -connect bucket.s3.amazonaws.com:443 < /dev/null
Run Code Online (Sandbox Code Playgroud)

我拿了链中的最后一个证书并把它放在一个PEM文件中,openssl读得很好.这是Verisign证书:

Serial number: 35:97:31:87:f3:87:3a:07:32:7e:ce:58:0c:9b:7e:da
Subject key identifier: 7F:D3:65:A7:C2:DD:EC:BB:F0:30:09:F3:43:39:FA:02:AF:33:31:33
SHA1 fingerprint: F4:A8:0A:0C:D1:E6:CF:19:0B:8C:BC:6F:BC:99:17:11:D4:82:C9:D0
Run Code Online (Sandbox Code Playgroud)

任何想法如何启用验证?

python ssl urllib2

18
推荐指数
1
解决办法
3万
查看次数