python使用urllib傳送網路請求

2021-10-02 06:11:47 字數 3842 閱讀 4801

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...