我用:
import time,requests
ts = str(int(time.time()))
s = requests.session()
payload = {"email": "[email protected]","timestamp":ts}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/536.36 (KHTML, like Gecko) Chrome/89.0.4189.82 Safari/537.16',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9',
'Origin': 'https://smailpro.com',
'Referer': 'https://smailpro.com/advanced',
'Content-Type': 'application/json'
}
r = s.post('https://smailpro.com/app/key',json=payload, headers=headers)
print(r.text)
并得到这样的东西:
♥��^7⌂�3W►��↕�♂r��+G��"�B�7���@♀��fd{^◄��!�◄l4�↑dx2n‼Sda��bd���;L���E�♦����KG�⌂c�{↔�♫*�lӖޡ��n��l���b���k]��z[_�]|����f�ׯ�_�rs��ɭ-�↑yw��ͥ���J�♫6U���dZ?�W��Y'�M�`����=�T�♥�♀6��m1�~�♠����J�Ur��b��b→p�P��M�♫+�YC;▲
♥��W5Uƹ�@r��9o��|
如何解码这些数据? (它必须是对象数组:{code:200,items:'eyJ0eXA ....iOiJKV1',msg:'OK'})
我检查:
print(r.encoding) # it returns utf-8
我用:
with open('output.txt','w+',encoding='utf-8') as f:
f.write(r.text) # ♥��^7⌂�......o��|
with open('output.txt','+bw',encoding='utf-8') as f:
f.write(r.text) # error
base64:
import base64
res = base64.b64decode(r.text)
print(res) # error
编码、解码和 r.content 不起作用
我只是不知道如何获取数据...
请删除此行并再试一次:
'Accept-Encoding': 'gzip, deflate, br',
你要求压缩版,但你没有解压它
如果仍然返回相同的响应,可能是因为服务器只提供了纪录片的压缩版本
然后执行以下操作:
Data=gzip.decompress(r.content).decode("utf-8")