只需要提供参数就能够正确返回加密参数, 如下所示:
import httpx
from rich import print, json
# 请求远程数据
def get_remote_data(api_name, headers=None):
base_url = 'http://xxx.xxx.xxx.181:9998/api/' # 私信联系我获取远程服务器的ip地址
default_headers = {}
if headers:
updated_headers = {}
for k, v in headers.items():
if isinstance(v, dict):
updated_headers[k] = json.dumps(v)
else:
updated_headers[k] = str(v)
default_headers.update(updated_headers)
try:
with httpx.Client(http2=False) as client:
data = client.post(base_url + api_name, headers=default_headers)
if data.status_code != 200:
return None
data = data.json()
url = 'https://az1-api.xxxxx.com' + data.get('path')
# 根据返回的数据, 向远程服务器请求
response = client.post(url,
params=data.get('params'),
data=data.get('data'))
if response.status_code != 200:
return None
return response.json()
except httpx.RequestError as e:
return None, f"请求出错: {e}"
if __name__ == '__main__':
map = {
'path': '/rest/n/comment/list/firstPage',
'params': {
# 选填, 可空
},
'data': {
"photoId": "52345xxx97306",
"client_key": "xxxxxx",
}
}
data = get_remote_data('customJson', map)
print(data)
有需要的可以私信我交流学习
说明: 此代码仅供用于学习交流, 切勿用于非法用途