您好,匿名用户
随意问技术百科期待您的加入

python urlopen 不了一个url 而用curl 是可以的

0 投票
url=“http://redirect.viglink.com?key=4f41d321ffc89f8abfd39904671d7ab7&u=http%3A%2F%2Fwww.newegg.com%2FProduct%2FProduct.aspx%3Fnm_mc%3DAFC-dealmoon%26cm_mmc%3DAFC-dealmoon-_-NA-_-NA-_-NA%26Item%3DN82E16820147192”
import urllib2
next_url=urllib2.urlopen(url).geturl()
print next_url
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib64/python2.6/urllib2.py", line 397, in open
    response = meth(req, response)
  File "/usr/lib64/python2.6/urllib2.py", line 510, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib64/python2.6/urllib2.py", line 435, in error
    return self._call_chain(*args)
  File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib64/python2.6/urllib2.py", line 518, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 400: BAD_REQUEST

而curl 是可以的

[root@123 test]# curl -I 'http://redirect.viglink.com?key=4f41d321ffc89f8abfd39904671d7ab7&u=http%3A%2F%2Fwww.newegg.com%2FProduct%2FProduct.aspx%3Fnm_mc%3DAFC-dealmoon%26cm_mmc%3DAFC-dealmoon-_-NA-_-NA-_-NA%26Item%3DN82E16820147192'
HTTP/1.1 307 Temporary Redirect
Cache-Control: no-cache
Cache-Control: no-store
Content-length: 0
Date: Tue, 26 Feb 2013 09:03:13 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Location: http://viglink.pgpartner.com/rd.php?r=280&m=1069763726&q=n&rdgt=1361801639&it=1361974439&et=1362406439&priceret=149.99&pg=~~3&k=3e4617236e1334fcb8741d8ab57a3b72&source=feed&url=http%3A%2F%2Fwww%2Enewegg%2Ecom%2FProduct%2FProduct%2Easpx%3FItem%3DN82E16820147192%26nm%5Fmc%3DOTC%2Dpr1c3grabb3r%26cm%5Fmmc%3DOTC%2Dpr1c3grabb3r%2D%5F%2DSolid%2BState%2BDisk%2D%5F%2DSAMSUNG%2D%5F%2D20147192&st=feed&mt=~~~~~~~viglink_106942~n~~~
Pragma: no-cache
Server: Apache-Coyote/1.1
Connection: keep-alive
用户头像 提问 2014年 1月27日 @ Kassadin 上等兵 (255 威望)
分享到:

1个回答

0 投票

不知道你的平台是什么

我在 Ubuntu 12.04 32bit + Python 2.7.3 下正常打开

>>> http://redirect.viglink.com?key=4f41d321ffc89f8abfd39904671d7ab7&u=http%3A%2F%2Fwww.newegg.com%2FProduct%2FProduct.aspx%3Fnm_mc%3DAFC-dealmoon%26cm_mmc%3DAFC-dealmoon-_-NA-_-NA-_-NA%26Item%3DN82E16820147192
KeyboardInterrupt
>>> next_url=urllib2.urlopen(url).geturl()

>>> 
>>> print next_url
http://www.newegg.com/Product/Product.aspx?Item=N82E16820147192&nm_mc=OTC-pr1c3grabb3r&cm_mmc=OTC-pr1c3grabb3r-_-Solid+State+Disk-_-SAMSUNG-_-20147192
>>> 
用户头像 回复 2014年 1月27日 @ Blitzcrank 上等兵 (358 威望)
提一个问题:

相关问题

0 投票
0 回复 38 阅读
+1 投票
1 回复 51 阅读
0 投票
1 回复 282 阅读
用户头像 提问 2012年 12月1日 @ Apollo 上等兵 (269 威望)
0 投票
1 回复 28 阅读
0 投票
1 回复 27 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...