最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

requests處理token鑒權(quán)接口和jsonpath使用方式

 更新時間:2025年11月24日 11:38:59   作者:葬愛家族小阿杰  
文章介紹了如何使用requests庫進行token鑒權(quán)接口的處理,包括登錄提取token并保存,還詳述了如何使用jsonpath表達式來提取json數(shù)據(jù),包括匹配單個值、多個值、通過索引和條件過濾等,通過實際例子和語法說明,幫助讀者更好地理解和應(yīng)用jsonpath工具

requests處理token鑒權(quán)接口和jsonpath使用

第一步:登陸,提取token保存起來

# 登陸接口的地址
url = 'http://www.adf.com/futureloan/member/login'
# 登陸接口的參數(shù)
params = {
    "mobile_phone": "123456789",
    "pwd": "123456",
}
# 請求頭
headers = {"X-Media-Type": "DuSSS.v1"}
# 發(fā)送請求進行登陸
response = requests.post(url=url, headers=headers, json=params)
res = response.json()
token = res['data']['token_info']['token']

第二步:訪問需要鑒權(quán)的接口時,帶上token就可以了

# 提取登陸用戶的id
member_id = res['data']['id']
params2 = {
    "member_id": member_id,
    "amount": "2000",
}
# 充值接口的地址
url2 = 'http://www.adf.com/futureloan/member/recharge'
# 請求頭
headers2 = {"X-Media-Type": "DuSSS.v2",
           "Authorization": "Bearer " + token}
response2 = requests.post(url=url2, headers=headers2, json=params2)
response.json()

json數(shù)據(jù)提取工具

pip install jsonpath

例子:通過jsonpath提取token值

data = {
    "content": {
        "data": {
            "titleMsg": "登錄名或登錄密碼不正確",
            "resultCode": 100
        },
        "status": 0,
        "success": 'true'
    },
    "hasError": 'false'
}
resultCode = jsonpath(data, "$..resultCode")
print(resultCode)

注:返回的是列表,可以通過resultCode[0]提取

jsonpath需要兩個參數(shù):

  • 參數(shù)1:數(shù)據(jù)
  • 參數(shù)2:jsonpath表達式

注:

  • ①匹配不到返回false
  • ②匹配到數(shù)據(jù)返回的是包含數(shù)據(jù)的列表

jsonpath表達式語法:

  • $---------------------根節(jié)點
  • 。--------------------選擇子節(jié)點(直接子節(jié)點)
  • 。。-----------------選擇子孫節(jié)點(不考慮層級)
  • []---------------------選擇子節(jié)點/選擇索引
  • [,]--------------------選擇多個字段
  • @-------------------當前選中的節(jié)點(和條件過濾使用)
  • [?(過濾條件)]----通過條件過濾數(shù)據(jù)
{
    "store": {
        "book": [
            {
                "category": "reference",
                "author": "Nigel Rees",
                "title": "Sayings of the Century",
                "price": 8.95
            },
            {
                "category": "fiction",
                "author": "Evelyn Waugh",
                "title": "Sword of Honour",
                "price": 12.99
            },
            {
                "category": "fiction",
                "author": "Herman Melville",
                "title": "Moby Dick",
                "isbn": "0-553-21311-3",
                "price": 8.99
            },
            {
                "category": "fiction",
                "author": "J. R. R. Tolkien",
                "title": "The Lord of the Rings",
                "isbn": "0-395-19395-8",
                "price": 22.99
            }
        ],
        "bicycle": {
            "color": "red",
            "price": 19.95
        }
    },
    "expensive": 10
}

JsonPath (點擊鏈接測試)結(jié)果
$.store.book[*].author獲取json中store下book下的所有author值
$…author獲取所有json中所有author的值
$.store.*所有的東西,書籍和自行車
$.store…price獲取json中store下所有price的值
$…book[2]獲取json中book數(shù)組的第3個值
$…book[-2]倒數(shù)的第二本書
$…book[0,1]前兩本書
$…book[:2]從索引0(包括)到索引2(排除)的所有圖書
$…book[1:2]從索引1(包括)到索引2(排除)的所有圖書
$…book[-2:]獲取json中book數(shù)組的最后兩個值
$…book[2:]獲取json中book數(shù)組的第3個到最后一個的區(qū)間值
$…book[?(@.isbn)]獲取json中book數(shù)組中包含isbn的所有值
$.store.book[?(@.price < 10)]獲取json中book數(shù)組中price<10的所有值
$…book[?(@.price <= $[‘expensive’])]獲取json中book數(shù)組中price<=expensive的所有值
$…book[?(@.price <= $[‘expensive’])]獲取json中book數(shù)組中price<=expensive的所有值
$…book[?(@.author =~ /.*REES/i)]獲取json中book數(shù)組中的作者以REES結(jié)尾的所有值(REES不區(qū)分大小寫)
$…*逐層列出json中的所有值,層級由外到內(nèi)
$…book.length()獲取json中book數(shù)組的長度

通過索引選擇數(shù)組(列表中的數(shù)據(jù))

  • 同一層級有相同數(shù)據(jù)
jsonpath(data,'.data[1]′)jsonpath(data,′.data[1]') jsonpath(data,'.data[1]′)jsonpath(data,′.data[1].name')
  • 選擇多個字段
jsonpath(data,'$.data[0][uid,name]')
  • 通過條件過濾:
jsonpath(data,'.data[?(@.uid==4)]′)jsonpath(data,′.data[?(@.uid==4)]') jsonpath(data,'.data[?(@.uid==4)]′)jsonpath(data,′.data[?(@.name==‘后臺')]')

定位到data之后uid的數(shù)據(jù)

  • 若:
jsonpath(data,'$…name')

獲取所有name,需使用上面過濾

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 將Jupyter?Notebook(.ipynb)文件轉(zhuǎn)換為Python(.py)文件的3種方法

    將Jupyter?Notebook(.ipynb)文件轉(zhuǎn)換為Python(.py)文件的3種方法

    大多數(shù)數(shù)據(jù)科學(xué)在線課程都把Jupyter Notebook作為教學(xué)媒介,這是因為初學(xué)者在Jupyter Notebook的單元格中編寫代碼,比編寫包含類和函數(shù)的腳本更容易,這篇文章主要給大家介紹了關(guān)于將Jupyter?Notebook(.ipynb)文件轉(zhuǎn)換為Python(.py)文件的3種方法,需要的朋友可以參考下
    2023-10-10
  • Python爬蟲實現(xiàn)百度圖片自動下載

    Python爬蟲實現(xiàn)百度圖片自動下載

    這篇文章主要介紹了Python爬蟲實現(xiàn)百度圖片自動下載的方法以及相關(guān)代碼分析,對此有興趣的朋友參考下。
    2018-02-02
  • 在keras中model.fit_generator()和model.fit()的區(qū)別說明

    在keras中model.fit_generator()和model.fit()的區(qū)別說明

    這篇文章主要介紹了在keras中model.fit_generator()和model.fit()的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 利用Python進行網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓取的代碼示例

    利用Python進行網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓取的代碼示例

    在當今數(shù)字化時代,數(shù)據(jù)是無處不在的,從市場趨勢到個人偏好,從社交媒體活動到商業(yè)智能,數(shù)據(jù)扮演著關(guān)鍵的角色,Python提供了一套強大而靈活的工具,使得網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓取成為可能,本文將深入探討如何利用Python進行網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓取,為您打開數(shù)據(jù)世界的大門
    2024-05-05
  • 使用python/pytorch讀取數(shù)據(jù)集的示例代碼

    使用python/pytorch讀取數(shù)據(jù)集的示例代碼

    這篇文章主要為大家詳細介紹了使用python/pytorch讀取數(shù)據(jù)集的示例,文中的示例代碼講解詳細,具有一定參考價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • Python BeautifulSoup基本用法詳解(通過標簽及class定位元素)

    Python BeautifulSoup基本用法詳解(通過標簽及class定位元素)

    這篇文章主要介紹了Python BeautifulSoup基本用法(通過標簽及class定位元素),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • python函數(shù)遞歸調(diào)用的實現(xiàn)

    python函數(shù)遞歸調(diào)用的實現(xiàn)

    本文主要介紹了python函數(shù)遞歸調(diào)用的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 幾個適合python初學(xué)者的簡單小程序,看完受益匪淺!(推薦)

    幾個適合python初學(xué)者的簡單小程序,看完受益匪淺!(推薦)

    這篇文章主要介紹了幾個適合python初學(xué)者的簡單小程序,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python幾種繪制時間線圖的方法

    Python幾種繪制時間線圖的方法

    這篇文章主要介紹了Python幾種繪制時間線圖的方法,Matplotlib 作為 Python 家族最為重要的可視化工具,其基本的 API 以及繪制流程還是需要掌握的
    2022-08-08
  • Python 使用 PyQt5 開發(fā)的關(guān)機小工具分享

    Python 使用 PyQt5 開發(fā)的關(guān)機小工具分享

    這篇文章主要介紹了Python 使用 PyQt5 開發(fā)的關(guān)機小工具分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評論

绥芬河市| 章丘市| 邵武市| 景东| 临漳县| 乐都县| 奉新县| 广宗县| 鄢陵县| 万荣县| 卫辉市| 芜湖县| 大关县| 承德市| 怀远县| 溧阳市| 宜丰县| 宁化县| 太康县| 商洛市| 公主岭市| 临沂市| 西乌| 健康| 斗六市| 黄平县| 开化县| 汤原县| 高平市| 攀枝花市| 蒲城县| 三原县| 两当县| 德兴市| 白山市| 巧家县| 潜山县| 嘉峪关市| 濮阳市| 深水埗区| 乐安县|