【问题标题】:Python HTTP post with headers and XML data带有标头和 XML 数据的 Python HTTP 帖子
【发布时间】:2019-06-27 03:29:47
【问题描述】:

我正在尝试远程关闭我的电视,然后下面的 curl 调用就像一个魅力:

curl -v -XPOST http://[your_TV's_IP_address]/sony/IRCC -d '<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:X_SendIRCC xmlns:u="urn:schemas-sony-com:service:IRCC:1"><IRCCCode>AAAAAQAAAAEAAAAVAw==</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>' -H 'Content-Type: text/xml; charset=UTF-8' -H 'SOAPACTION: "urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"' -H 'X-Auth-PSK: [your_PSK]'

但是,我无法将其移植到 python.requests.post 调用中,因为我总是得到一个

错误 500

作为回报。
在将 XML 数据或标头传递给请求时,我一定做错了。

这是我的python代码:

导入请求 TurnOnOffcommandData = "AAAAQAAAAEAAAAVAw==:X_SendIRCC>正文>信封>" TurnOnOffcommandHeaders = {'Content-Type': 'text/xml; charset=UTF-8', 'SOAPACTION': 'urn:schemas-sony-com:service:IRCC:1#X_SendIRCC', 'X-Auth-PSK': 'PASSWORD'} requests.post('http://XX.XX.XX.XX/sony/IRCC', headers=TurnOnOffcommandHeaders, data=TurnOnOffcommandData)

感谢您对此问题的任何帮助。

【问题讨论】:

  • 你的python代码好吗?需要它来帮助查明您做错了什么。
  • @A.Rose 谢谢你的回答!我在上面最初的问题中添加了我的代码。
  • 我没有可以执行此操作的电视,所以我无法帮助调试 - 您的代码没有任何明显错误。 HTTP 500 是内部服务器错误。您也可以尝试这个问题以获取更多信息:stackoverflow.com/questions/18175489/…

标签: python-3.x python-requests webhooks


【解决方案1】:

假设您现在已经解决了这个问题,但您似乎错过了 SOAPACTION 标头中的引号。

应该是: 'SOAPACTION': '"urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多