Python獲取伺服器響應json並輸出到螢幕
阿新 • • 發佈:2021-01-07
技術標籤:PythonLinux筆記pythonjsonpostlinuxclient server
起因
我需要編寫一個用Python製作的登入指令碼,但是得獲取伺服器反饋的JSON資料否則不知道是否成功。
我先用常規方法試了一下,下面是我的程式碼
import requests
url="網址"
header={"Host":"網址","User-Agent":"資訊",}
data={"uid":"****","token" :"*****"}
r=requests.post(url,data=data,headers=header)
#這裡我是將payload定為data型別的
print(r.json())
然後伺服器給我的反饋就是
{'data': None, 'message': 'invalid input format: invalid json value', 'retcode': -502}
#錯誤無法輸出
於是我在網上找了各種各樣的教程,一個接一個的都試了一遍,發現全部沒用,最後我改了個引數,好了,一切正常了。
解法
import requests
url="網址"
header={"Host":"網址","User-Agent":"資訊",}
data={"uid":"****","token":"*****"}
r=requests.post(url,json=data,headers=header)
#這裡我將payload改為了json型別
print(r.json())
伺服器反饋成功,沒有報錯
{'retcode': 0,
'message': 'OK',
'data': {'account' : {'uid': '****', 'name': '',
'email': '****',
'mobile': '****',
'is_email_verify': '****',
'realname': '****',
'identity_card': '****',
'token': '****',
'safe_mobile': '****', 'facebook_name': '',
'google_name': '',
'twitter_name': '',
'game_center_name': '',
'apple_name': '',
'sony_name': '',
'tap_name': '',
'country': ''},
'device_grant_required': False,
'safe_moblie_required': False,
'realperson_required': False}}
問題解決