1
我正在學習Python,並且正在使用適用於MediaFire的API並嘗試自動執行一些簡單的過程。但是,在通過POST獲取會話令牌後,我遇到了一些困惑。問題是我不確定如何從響應中提取令牌。這裏是調用來獲取會話令牌:從Python中的JSON響應中提取令牌
import hashlib
import time
import urllib.request
token = hashlib.sha1()
token.update("[email protected]c809kfutv5z".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 protected]&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"}}'
的小白任何幫助,將不勝感激
我把它,並給了它一個測試運行並遇到了一個錯誤,我需要設置一個參數來轉換爲一個字符串? 回溯(最近通話最後一個): 文件 「C:\用戶\ rhood \文檔\ test.py」,第16行,在 json_response = json.loads(HTML) 文件「C:\用戶\ rhood \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ json \ __ init__.py「,第312行加載 s .__ class __.__ name__)) TypeError:JSON對象必須是str,而不是'bytes' –
loading一個字符串作爲輸入 – tinySandy
你可以進一步簡化使用'response.json()'而不是'json.loads(response.text)' – kichik