如何在请求payload中传入变量m_otp?
解决将随机生成的m_otp传入请求payload的问题
你可以通过以下几种方法把m_otp变量嵌入到请求的payload中:
方法1:使用f-string格式化字符串payload
直接在原有的字符串payload中插入变量,注意转义大括号(f-string中双大括号会被解析为单个大括号):
import requests import random m_otp = str(random.randint(100000, 999999)) print(m_otp) url = "https://ziper.io/api/send.php?instance_id=My_instance_id&access_token=My_Acess_token&type=json&number=919XXXXXXXXX" # 用f-string把m_otp插入到text内容里 payload = f"{{\r\n \"text\": \"Hello there {m_otp}\"\r\n }}" headers = {} response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
方法2:用字典构造数据(推荐)
这种方法更规范,避免手动拼接JSON字符串容易出错的问题,requests可以自动将字典转为JSON格式发送:
import requests import random m_otp = str(random.randint(100000, 999999)) print(m_otp) url = "https://ziper.io/api/send.php?instance_id=My_instance_id&access_token=My_Acess_token&type=json&number=919XXXXXXXXX" # 构造包含m_otp的字典 payload = {"text": f"Hello there {m_otp}"} # 部分接口需要指定Content-Type为application/json,加上更稳妥 headers = {"Content-Type": "application/json"} # 使用requests的json参数自动处理序列化 response = requests.post(url, json=payload, headers=headers) print(response.text)
说明
两种方法的核心都是把m_otp变量嵌入到text字段的内容中,方法2更适合复杂的payload结构,也更容易维护。
内容的提问来源于stack exchange,提问作者Sameer
相关产品推荐
相关产品推荐

