【发布时间】:2019-11-03 06:53:31
【问题描述】:
我用支持 Hilink 的 GSM 调制解调器创建了一个短信网关。我坚持发布 XML。第一步是获取会话和令牌。第二。将令牌传递给标题。它将授予访问发送消息的权限。但是,如何使用 urllib3 传递 XML 数据?
import urllib3
import xml.etree.ElementTree as XML
http = urllib3.PoolManager()
response_body = http.request('GET', 'http://192.168.8.1/api/webserver/SesTokInfo')
tree = XML.ElementTree(XML.fromstring(response_body.data))
root = tree.getroot()
token = root[1].text
data="<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>Number</Phone></Phones><Sca></Sca><Content>test</Content><Length>4</Length><Reserved>1</Reserved><Date>-1</Date></request>"
send_message = http.request('POST', 'http://192.168.8.1/api/sms/send-sms', data=data, headers={'__RequestVerificationToken': token, 'Content-Type': 'application/xml'})
print(send_message.status)
【问题讨论】:
-
@ZKDev 我已经发了那个帖子。它不一样。该帖子使用请求模块。我需要使用 urllib3。我收到错误 __init__() 有一个意外的关键字参数“数据”。 urllib3 模块中不存在请求中的类似数据。