import urllib.request
import urllib.parse
import json
#get請求返回response訊息體
defdogeth
(url,header)
: req = urllib.request.request(url)
for k in header:
req.add_header(k, header[k]
) resp = urllib.request.urlopen(req)
return resp.read(
).decode(
'utf-8');
#get請求返回json,將json解析為python物件
defdogetjsonh
(url,header)
: req = urllib.request.request(url)
for k in header:
req.add_header(k, header[k]
) resp = urllib.request.urlopen(req)
return json.loads(resp.read(
).decode(
'utf-8'))
;#表單提交資料,返回json解析成物件
defdoformpostjsonh
(url,paramarr,header)
: login_data = urllib.parse.urlencode(paramarr)
req = urllib.request.request(url)
for k in header:
req.add_header(k, header[k]
) respdata = urllib.request.urlopen(req, data=login_data.encode(
'utf-8'))
.read(
).decode(
'utf-8');
return json.loads(respdata)
;#post傳送json引數,返回json解析成物件
defdojsonpostjsonh
(url,param,header)
: req = urllib.request.request(url)
data =
bytes
(json.dumps(param)
,'utf8'
)for k in header:
req.add_header(k, header[k]
) respdata = urllib.request.urlopen(req, data=data)
.read(
).decode(
'utf-8');
return json.loads(respdata)
;#------只需要cookie頭
#get請求返回response訊息體
defdoget
(url,cookie)
: req = urllib.request.request(url)
req.add_header(
'cookie'
, cookie)
resp = urllib.request.urlopen(req)
return resp.read(
).decode(
'utf-8');
#get請求返回json,將json解析為python物件
defdogetjson
(url,cookie)
: req = urllib.request.request(url)
req.add_header(
'cookie'
, cookie)
resp = urllib.request.urlopen(req)
return json.loads(resp.read(
).decode(
'utf-8'))
;#表單提交資料,返回json解析成物件
defdoformpostjson
(url,paramarr,cookie)
: login_data = urllib.parse.urlencode(paramarr)
req = urllib.request.request(url)
req.add_header(
'cookie'
, cookie)
respdata = urllib.request.urlopen(req, data=login_data.encode(
'utf-8'))
.read(
).decode(
'utf-8');
return json.loads(respdata)
;def
doformputjson
(url,paramarr,cookie)
: login_data = urllib.parse.urlencode(paramarr)
req = urllib.request.request(url,method=
'put'
) req.add_header(
'cookie'
, cookie)
respdata = urllib.request.urlopen(req, data=login_data.encode(
'utf-8'))
.read(
).decode(
'utf-8');
return json.loads(respdata)
;#post傳送json引數,返回json解析成物件
defdojsonpostjson
(url,param,cookie)
: req = urllib.request.request(url)
data =
bytes
(json.dumps(param)
,'utf8'
) req.add_header(
'cookie'
, cookie)
req.add_header(
'content-type',)
respdata = urllib.request.urlopen(req, data=data)
.read(
).decode(
'utf-8');
return json.loads(respdata)
;def
dojsonputjson
(url,param,cookie)
: req = urllib.request.request(url,method=
'put'
) data =
bytes
(json.dumps(param)
,'utf8'
) req.add_header(
'cookie'
, cookie)
req.add_header(
'content-type',)
respdata = urllib.request.urlopen(req, data=data)
.read(
).decode(
'utf-8'
)print
(respdata)
obj = json.loads(respdata)
return obj;
python使用urllib2傳送http請求
param method 請求方式,字串,僅支援get post put delete head param user header 請求頭,字典,param request body type 請求體型別,字串,僅支援form data x www form urlencoded raw格式 pa...
python3 urllib使用debug輸出
python2.7.5中使用debug輸出,可以採用如下方式 python3 中統一使用的是urllib模組庫,將python2中的urllib和urllib2進行了整合,試圖按上述方式編寫 如下 python3.4.2 window7 cmd 沒有語法錯誤提示,但是,也沒有任何除錯資訊出來。還有另...
Python中urllib模組的使用
建立乙個表示遠端url的類檔案物件,然後像本地檔案一樣操作這個類檔案物件來獲取遠端資料。引數url表示遠端資料的路徑,一般是 引數data表示以post方式提交到url的資料 玩過web的人應該知道提交資料的兩種方式 post與get。如果你不清楚,也不必太在意,一般情況下很少用到這個引數 引數pr...