2012-07-20 47 views
0

我一直在这里呆了很长一段时间,但找不到任何有用的东西。 我试图连接到一个网站,并获取Python3中的响应json文件。代码如下所示:HTTPConnection.request失败,但urllib.request.urlopen的作品?

conn = http.client.HTTPConnection('host.address') 
params = "xx"+ xx + "xx" + ... 
conn.request('GET', '/a/b/c', params) 
resp = conn.getresponse() 

这实际上将不会返回JSON文件,但该网页http://host.address/a/b/c,这是一个错误页面。 然而,在使用下面的代码:

params = "xx"+ xx + "xx" + ... 
resp = urllib.request.urlopen("http://host.address/a/b/c?"+params) 

它正确返回JSON文件。 任何想法代码有什么问题?

感谢

回答

0

只是为了补充@ sqrtsben的回答有一个例子:

import urllib.parse 
import http.client 

u = urllib.parse.urlparse("http://localhost:8080/index.php?utf8=✓") 
conn = http.client.HTTPConnection(u.hostname, u.port) 
if u.query == '': 
    conn.request("GET", u.path) 
else: 
    conn.request("GET", u.path + '?' + u.query) 
相关问题