在python中打开Url时出错

时间:2015-11-10 02:14:45

标签: python-3.x

我在python 3.5中有以下代码。

import urllib.request

prof_list = open(r"C:\local\profanity.txt")
contents = prof_list.read()
connect = urllib.request.urlopen("http://wdyl.com/profanity?q="+contents)
output = connect.read()
connect.close()
prof_list.close()

当我运行代码时,我得到了

 raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request

尽管付出了多少努力,仍无法想象。

2 个答案:

答案 0 :(得分:1)

您需要将一个额外的参数传递给urllib.request.urlopen,如下例所示:

urllib.request.urlopen('someurl.com', data=None)  # if you have extra data to send to the server

请查看此PAGE以了解有关发送到服务器的不同信息的详情。

答案 1 :(得分:0)

您需要先对查询字符串进行编码,然后才能在网址中使用它。

from urllib.parse import quote
encoded_query=quote(query)

然后你可以使用

urllib.request.urlopen("http://wdyl.com/profanity?q="+encoded_query)