从 Python 中的 JSON 响应中提取令牌

Pulling token from JSON responce in Python

我正在学习 Python 并且正在使用 API for MediaFire 并尝试自动执行一些简单的流程。但是在我通过 POST 获取会话令牌后,我 运行 有点困惑。问题是我不确定如何从响应中提取令牌。这是获取会话令牌的调用:

import hashlib
import time
import urllib.request

token = hashlib.sha1()
token.update("calvinrock0406@gmail.comheaven3610255k592k2di4u9uok3e8u9pkfepjfoc809kfutv5z".encode('utf-8'))
token_dig = token.hexdigest()

with urllib.request.urlopen("https://www.mediafire.com/api/user/get_session_token.php?application_id=36102&signature=" + token_dig + "&email=calvinrock0406@gmail.com&password=heaven&token_version=2&response_format=json") as response:
    html = response.read()

这是我从电话中得到的回复:

b'{"response":{"action":"user\/get_session_token","session_token":"618679cd5046c48fface93dee366a1a07eacfefc5bce88173d5118bb3f128f539602dc54f6d667825a376bc2f86b41a5b1cbe178cd45dfcb4ddfc8e9652f7c529db233181655ec42","secret_key":"774329384","time":"1454700043.4884","ekey":"a84adbba31f9ae8ef717486616a97c63","pkey":"b4dfdc307d","result":"Success","current_api_version":"1.5"}}'

非常感谢对菜鸟的任何帮助

我建议使用 requests 而不是 urllib,并使用 json()使用响应:

import json
import hashlib
import requests

token = hashlib.sha1()
token.update("calvinrock0406@gmail.comheaven3610255k592k2di4u9uok3e8u9pkfepjfoc809kfutv5z".encode('utf-8'))
token_dig = token.hexdigest()

response = requests.get("https://www.mediafire.com/api/user/get_session_token.php?application_id=36102&signature=" + token_dig + "&email=calvinrock0406@gmail.com&password=heaven&token_version=2&response_format=json")

json_response = response.json()
print json_response["response"]["session_token"]