Python实现C# HttpClient PostAsync等价方法,调用企业API传递数组参数
Python 实现 C# PostAsync 等价功能
你可以用requests库实现和给定C#代码完全等价的逻辑(示例中C#通过.Result同步等待异步请求结果,对应Python的同步POST请求),以下是完整代码:
import requests import json json_result = "" # 构造请求URL object_name = "UserNames" method = "methodname" request_url = f"http://server/service/object/invoke/{object_name}?method={method}" # 设置请求头:对应C#的Authorization header和StringContent的内容类型 headers = { "Authorization": "b/authorizationkey", "Content-Type": "application/json; charset=utf-8" } # 构造参数数组并序列化为JSON(对应C#的JsonConvert.SerializeObject) parameters = ["sa", "", "", "", ""] content_str = json.dumps(parameters) # 发送POST请求(对应C#的PostAsync + .Result) response = requests.post(request_url, data=content_str, headers=headers) # 读取响应内容(对应C#的ReadAsStringAsync + .Result) if response.ok: json_result = response.text
核心对应点
- C#中
HttpClient.PostAsync().Result的同步请求逻辑,对应Pythonrequests.post方法(本身为同步实现) - C#的
JsonConvert.SerializeObject序列化数组,对应Pythonjson.dumps()方法 - 请求头直接通过字典传递,requests会自动处理头的合法性,无需额外校验逻辑
- 响应内容读取用
response.text,和C#读取字符串结果的行为完全一致
内容的提问来源于stack exchange,提问作者Unknown New User
相关产品推荐
相关产品推荐

