#設定header資料
conn.request("get", url,"",header)
r1 = conn.getresponse()
print(r1.status, r1.reason)
data = eval(r1.read().decode())
data = json.dumps(data,indent=4,separators=(',', ': '),ensure_ascii=false)
print(data)
這裡有幾個要注意的地方
1:httpresponse中讀取出來的資料是bytes型別,所以不能直接使用json.dumps去格式化,必須先轉為字串型別,直接使用bytes的decode後,會發現結果中帶有轉義字元'\',所以這裡使用eval將轉義去掉,並且eval可以吧unicode字元轉為漢字,就是說 eval(r1.read().decode()) 執行結果中已經是漢字了
2:如果直接使用json.dumps轉換,你會發現,之前的中文又變成字元了,關鍵在於ensure_ascii,要設定為false(預設是false),否則中文就會被ascii編碼了
python 傳送http請求
測試用cgi,名字為test.py,放在apache的cgi bin目錄下 usr bin python import cgi def main print content type text html n form cgi.fieldstorage if form.has key servicec...
python 模擬Http請求
先簡單宣告一下http請求中post和get之間乙個簡單的區別 get請求的資料會附在url之後 就是把資料放置在http協議頭中 以?分割url和傳輸資料,引數之間以 相連,如 login.action?name hyddd password idontknow verify e4 bd a0 e...
python模擬http請求
下文主要講述如何利用python自帶的庫模擬http請求,為以後利用python做api測試做準備。只講述模擬http的過程,具體到自己用的時候,要以自己的應用為準做出適當的調整。coding utf 8 相信這句大家都懂的,不解釋 匯入需要的python模組httplib,用來模擬提交http請求...