获取urllib2.urlopen失败时的错误页面

错误方法:

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. import urllib2  
  2. req = urllib2.Request('http://127.0.0.1/longerrorpage')  
  3. try:  
  4.     response=urllib2.urlopen(req)  
  5. except Exception,e:  
  6.     print e, response.read()  

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. HTTP Error 404: Not Found  

正确方法:

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. import urllib2  
  2. req = urllib2.Request('http://127.0.0.1/longerrorpage')  
  3. try:  
  4.     response=urllib2.urlopen(req)  
  5. except urllib2.HTTPError,e:  
  6.     print e.code  
  7.     print e.reason  
  8.     print e.geturl()  
  9.     print e.read()  
[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. 404  
  2. Not Found  
  3. http://127.0.0.1/longerrorpage  
  4. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">  
  5. <html><head>  
  6. <title>404 Not Found</title>  
  7. </head><body>  
  8. <h1>Not Found</h1>  
  9. <p>The requested URL /longerrorpage was not found on this server.</p>  
  10. <hr>  
  11. <address>Apache/2.2.22 (Ubuntu) Server at 127.0.0.1 Port 80</address>  
  12. </body></html>  


参考:http://stackoverflow.com/questions/2233687/overriding-urllib2-httperror-and-reading-response-html-anyway
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值