导入urllib2\u文件库后,我的代码无法用于代理处理

2024-04-18 23:38:06 发布

您现在位置:Python中文网/ 问答频道 /正文

如果不导入urllib2\u文件,我的代码就可以正常工作。你知道吗

import urllib2
import urllib
import random
import mimetypes
import string
import urllib2_file

proxy = urllib2.ProxyHandler({'http': '10.200.1.26'})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
u = urllib2.urlopen("http://127.0.0.1:3333/command/core/create-importing-job",data=urllib.urlencode({"test":""}))
print u.read()

导入urllib2\u文件库后:

Traceback (most recent call last):
  File "C:/hari/latest refine code/trialrefine.py", line 11, in <module>
    u = urllib2.urlopen("http://127.0.0.1:3333/command/core/create-importing-job",data=urllib.urlencode({"test":""}))
  File "C:\Python27\lib\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 391, in open
    response = self._open(req, data)
  File "C:\Python27\lib\urllib2.py", line 409, in _open
    '_open', req)
  File "C:\Python27\lib\urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "C:\Python27\urllib2_file.py", line 207, in http_open
    return self.do_open(httplib.HTTP, req)
  File "C:\Python27\urllib2_file.py", line 298, in do_open
    return self.parent.error('http', req, fp, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 435, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 518, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 404: Not Found

Tags: inpyimporthttpdatareturnlibline
1条回答
网友
1楼 · 发布于 2024-04-18 23:38:06

你得到了404 error。这意味着url错误/服务器关闭。请注意,urllib2_file覆盖urllib2的默认HTTP处理程序:

urllib2._old_HTTPHandler = urllib2.HTTPHandler
urllib2.HTTPHandler = newHTTPHandler

您可以做的一件事是显式地将urllib2._old_HTTPHandler传递给opener。除此之外,您真的应该使用调试器进入urllib2_file,了解出了什么问题。你知道吗

相关问题 更多 >