我无法导入urllib2。

3
import urllib
import urllib2
url = 'http://localhost/ehaat/index.php/log-in'
form_data = {'username': 'admin', 'password': 'admin'}
params = urllib.urlencode(form_data)
response = urllib2.urlopen(url, params)
data = response.read()

我对urllib还不熟悉,我做错了什么?另外,我可以使用它来将数据发布到表单中(自动填充表单并单击提交任务),从文件中获取随机数据。 我希望使用它来测试我的网站。

错误:

跟踪最近的调用:File "D:\ Users \ iamhssingh \ Documents \ Python \ url.py",第2行,导入urllib2 ImportError:没有名为'urllib2'的模块


1
你遇到了什么错误或非必要的行为? - Prerak Sola
追踪(Traceback)最近的调用(most recent call last):文件(File)“D:\Users\iamhssingh\Documents\Python\url.py”,第2行(line 2),在<module>中: 导入urllib2 导入错误(ImportError):没有名为'urllib2'的模块我需要安装什么吗?顺便说一下,我几分钟前安装了mechanize库! - Himanshu Shankar
你使用的是哪个Python版本? - lapinkoira
哦,抱歉我忘了提到。Python 3.4。 - Himanshu Shankar
请检查我的答案是否有帮助 - lapinkoira
@HimanshuShankar 请参考文档中使用post的示例。 - Peter Wood
1个回答

10

urllib2在Python 3中已经与urllib合并。在Python 2中是标准库,但在Python 3中不再是。

如果想使用urlopen方法,请尝试以下方法。

from urllib.request import urlopen
html = urlopen("http://www.google.com/")
print(html)

另外:

在Python 3.0中,urllib2模块已被分成几个模块,分别为urllib.request和urllib.error。当将您的源代码转换为3时,2to3工具将自动调整导入。


它确实会给出响应!你能给我一个代码,告诉我如何使用它在表单中发布数据吗?或者我上面尝试做的事情? - Himanshu Shankar
好的,我会发布另一个问题! - Himanshu Shankar
@HimanshuShankar:请不要问“给我提供代码”的问题。先自己尝试,如果遇到任何错误,请回到这里。我们在这里帮助你解决问题。 - Prerak Sola
我已经搜索了很多。而且我也在某个地方得到了这个答案。但是我仍然不明白。我如何使用这个来做我上面尝试做的事情?现在我收到一个urllib不存在的错误! - Himanshu Shankar
这里有一个类似的问题,涉及到在Python 3中使用urllib进行POST请求,链接为http://stackoverflow.com/questions/13288930/how-to-pass-parameter-to-url-with-python-urlopen - lapinkoira

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接