[英]Creating authenticated Python API call
我有點不知所措!迷失了如何使用Python進行API調用。 我已經成功完成了許多試驗,但現在我正嘗試構建一個迷失的應用程序。 以下是我所提供的全部說明。 我不確定如何超越我的代碼
MHL = urlopen('http://new.mhl.nsw.gov.au/services/mhladas/getAccessKey.json.php')
然后詢問用戶名等。
eg {u'access_key': None, u'error': u'No username has been entered'}
如何將我的詳細信息發回以供其服務器驗證? 然后該請求返回了我想要的數據? 樂於指導有關此的教程或任何幫助,我們深表感謝。 不了解如何將他們的指令轉換為相關的Python代碼
4.1登錄–請求訪問密鑰您需要進行登錄請求才能開始使用該服務。 此登錄為您提供了限時訪問密鑰。 您需要為以后提出的任何請求提供此密鑰。
http://new.mhl.nsw.gov.au/services/mhladas/getAccessKey.json.php
請求{“ username”:“ user@myserver.com”,“ password”:“ abc123”}示例響應{“ access_key”:“ MjAxMy0wNS0x…”,“ error”:null}
4.2獲取電台列表使用此功能可以列出可用的電台。 http://new.mhl.nsw.gov.au/services/mhladas/getStationList.json.php請求{“用戶名”:“ test@mhl.nsw.gov.au”,“ access_key”:“ MjAxMy0wNS0x…”}
您在問題中提供的信息不清楚。 我假設您必須使用用戶名和密碼參數發布請求。 首先,使用python request輕松地執行此類操作。 pip install requests
。 然后試試這個。
payload = {'username': 'user@myserver.com', 'password': 'abc123'}
r = requests.post("http://new.mhl.nsw.gov.au/services/mhladas/getAccessKey.json.php", data = payload)
print r
要使用urllib
進行POST,您需要使用urlencode
對數據進行urlencode
,並將其作為參數傳遞給urlopen
import urllib
data = urllib.urlencode({"username":"buddy","password":"inches"})
post = urllib.urlopen('http://new.mhl.nsw.gov.au/services/mhladas/getStationList.json.php', data)
print post.code
print post.read()
另一種方法是使用Sar009建議的requests
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.