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

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

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

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

第一步:登陸,提取token保存起來(lái)

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

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

# 提取登陸用戶的id
member_id = res['data']['id']
params2 = {
    "member_id": member_id,
    "amount": "2000",
}
# 充值接口的地址
url2 = 'http://www.adf.com/futureloan/member/recharge'
# 請(qǐng)求頭
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

例子:通過(guò)jsonpath提取token值

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

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

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

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

注:

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

jsonpath表達(dá)式語(yǔ)法:

  • $---------------------根節(jié)點(diǎn)
  • 。--------------------選擇子節(jié)點(diǎn)(直接子節(jié)點(diǎn))
  • 。。-----------------選擇子孫節(jié)點(diǎn)(不考慮層級(jí))
  • []---------------------選擇子節(jié)點(diǎn)/選擇索引
  • [,]--------------------選擇多個(gè)字段
  • @-------------------當(dāng)前選中的節(jié)點(diǎn)(和條件過(guò)濾使用)
  • [?(過(guò)濾條件)]----通過(guò)條件過(guò)濾數(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 (點(diǎn)擊鏈接測(cè)試)結(jié)果
$.store.book[*].author獲取json中store下book下的所有author值
$…author獲取所有json中所有author的值
$.store.*所有的東西,書(shū)籍和自行車(chē)
$.store…price獲取json中store下所有price的值
$…book[2]獲取json中book數(shù)組的第3個(gè)值
$…book[-2]倒數(shù)的第二本書(shū)
$…book[0,1]前兩本書(shū)
$…book[:2]從索引0(包括)到索引2(排除)的所有圖書(shū)
$…book[1:2]從索引1(包括)到索引2(排除)的所有圖書(shū)
$…book[-2:]獲取json中book數(shù)組的最后兩個(gè)值
$…book[2:]獲取json中book數(shù)組的第3個(gè)到最后一個(gè)的區(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ū)分大小寫(xiě))
$…*逐層列出json中的所有值,層級(jí)由外到內(nèi)
$…book.length()獲取json中book數(shù)組的長(zhǎng)度

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

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

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

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

獲取所有name,需使用上面過(guò)濾

總結(jié)

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

相關(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é)媒介,這是因?yàn)槌鯇W(xué)者在Jupyter Notebook的單元格中編寫(xiě)代碼,比編寫(xiě)包含類和函數(shù)的腳本更容易,這篇文章主要給大家介紹了關(guān)于將Jupyter?Notebook(.ipynb)文件轉(zhuǎn)換為Python(.py)文件的3種方法,需要的朋友可以參考下
    2023-10-10
  • Python爬蟲(chóng)實(shí)現(xiàn)百度圖片自動(dòng)下載

    Python爬蟲(chóng)實(shí)現(xiàn)百度圖片自動(dòng)下載

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

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

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

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

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

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

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

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

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

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

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

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

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

    Python幾種繪制時(shí)間線圖的方法

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

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

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

最新評(píng)論

定边县| 额敏县| 时尚| 西安市| 江山市| 青龙| 大埔区| 日土县| 甘洛县| 远安县| 金湖县| 海城市| 嘉黎县| 阳东县| 红桥区| 扶沟县| 泸州市| 康马县| 福建省| 峨眉山市| 镇原县| 偃师市| 海南省| 宁南县| 八宿县| 云浮市| 黄梅县| 广水市| 射阳县| 枣阳市| 德清县| 天台县| 吉林省| 萨迦县| 枣阳市| 葫芦岛市| 秦皇岛市| 吐鲁番市| 峨眉山市| 上犹县| 林州市|