python之urllib模塊和requests模塊


一、urllib模塊

python標准庫自帶的發送網絡請求的模塊。

# 用python怎么打開瀏覽器,發送接口請求
import urllib
from urllib.request import urlopen
from urllib.parse import urlencode
# url="http://www.nnzhp.cn/archives/527"
# res=urlopen(url).read()#返回的數據是二進制類型,怎么轉換成字符串?,其實就是get請求
# print(res.decode())#encode()轉換成二進制,decode()轉換成字符串
# f=open('a.html','w',encoding='utf-8')#打開一個文件
# f.write(res.decode())#將網站上請求到的數據寫入到文件中
# f.close()

url="http://api.nnzhp.cn/api/user/login"
data={"username":"niuhanyang","passwd":"aA123456"}
data=urlencode(data)#將參數拼接起來,username=niuhanyang&passwd=aA123456
res=urlopen(url,data.encode()).read()
print(res.decode())

import json
import jsonpath
# 從接口數據中獲取某個字段值,從json文件中獲取數據,loads()將字符串轉換成字典類型
dict=json.loads(res.decode())
print(dict)
# print(dict['login_info']['sign'])
# print(jsonpath.jsonpath(dict,expr='$.[login_info].[sign]'))
print(jsonpath.jsonpath(dict,expr='$..sign'))#不管字典有多少層,獲取到字典中的值

二、requests模塊

requests模塊是基於urllib模塊開發,用於發送http請求。

 

import requests
#向接口發送請求,獲取返回的數據
#get請求
# url="http://XXXX/api/user/stu_info"
# data={'stu_name':'lyh'}
# res=requests.get(url,params=data,cookies={'k1':'v1','k2':'v2'},headers={'kk1':'vv1','kk2':'vv2'})
# print(res.text)

#post請求
url="XXX/api/user/login"
data={"username":"liuyihan","passwd":"aA123456"}
res=requests.post(url,params=data)
print(res.json())#返回的是一個字典
print(res.text)#返回的是一個字符串

url="XXX/api/file/file_upload"
res=requests.post(url,files={'file':open('a.html','rb')})
print(res.json)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM