mirror of
https://github.com/WhaleFell/SMSBoom.git
synced 2026-02-07 20:34:23 +08:00
httpx 模块的 data 和 json 参数.有些服务器无法解码 json 数据只接受简单的表单,但是处理apis时把data都变成 dict 判断无意义。[stackoverflow](https://stackoverflow.com/questions/26685248/difference-between-data-and-json-parameters-in-python-requests-package)
42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
# encoding=utf8
|
|
import httpx
|
|
# import requests
|
|
from .model import API, default_header
|
|
|
|
|
|
def test_resq(api: API, phone) -> httpx.Response:
|
|
"""测试 API 返回响应
|
|
:param api: API model
|
|
:param phone: 手机号
|
|
:return: httpx 请求对象.
|
|
"""
|
|
api = api.handle_API(phone)
|
|
with httpx.Client(headers=default_header, timeout=8) as client:
|
|
# 这个判断没意义.....但是我不知道怎么优化...
|
|
# https://stackoverflow.com/questions/26685248/difference-between-data-and-json-parameters-in-python-requests-package
|
|
# Todo: json 和 data 表单发送的问题,有些服务器不能解释 json,只能接受表单
|
|
# sol: 1. 添加额外字段判断...
|
|
if not isinstance(api.data, dict):
|
|
print("data")
|
|
resp = client.request(method=api.method, headers=api.header,
|
|
url=api.url, data=api.data)
|
|
else:
|
|
print('json')
|
|
resp = client.request(
|
|
method=api.method, headers=api.header, url=api.url, json=api.data)
|
|
|
|
# 验证不是 httpx 的问题...
|
|
# if not isinstance(api.data, dict):
|
|
# print("data")
|
|
# resp = requests.request(method=api.method, headers=api.header,
|
|
# url=api.url, data=api.data)
|
|
# else:
|
|
# print('json')
|
|
# resp = requests.request(
|
|
# method=api.method, headers=api.header, url=api.url, json=api.data)
|
|
return resp
|
|
|
|
|
|
if __name__ == '__main__':
|
|
pass
|