2012-07-20 51 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) 
相關問題