当前位置: 首页 > 面试题库 >

如何使用请求库发送xml正文?

胡曾笑
2023-03-14
问题内容
def request():
    #encoded_xml = urllib.urlencode({'XML': read_xml()})
    #encoded_xml = read_xml()
    headers = {'Authorization': AUTH_TOKEN,\
               'developerToken': DEVELOPER_TOKEN,\
               'clientCostumerID': CLIENT_ID}
    content = {'__rdxml': encoded_xml}
    #content = encoded_xml
    #content = {'__rdxml': read_xml2()}
    r = requests.post(URL, data=content,\
        headers=headers)
    return r

这些组合似乎无效。

头由于某种原因未设置。


问题答案:

只需直接发送xml字节即可:

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import requests

xml = """<?xml version='1.0' encoding='utf-8'?>
<a>б</a>"""
headers = {'Content-Type': 'application/xml'} # set what your server accepts
print requests.post('http://httpbin.org/post', data=xml, headers=headers).text

输出量

{
  "origin": "x.x.x.x",
  "files": {},
  "form": {},
  "url": "http://httpbin.org/post",
  "args": {},
  "headers": {
    "Content-Length": "48",
    "Accept-Encoding": "identity, deflate, compress, gzip",
    "Connection": "keep-alive",
    "Accept": "*/*",
    "User-Agent": "python-requests/0.13.9 CPython/2.7.3 Linux/3.2.0-30-generic",
    "Host": "httpbin.org",
    "Content-Type": "application/xml"
  },
  "json": null,
  "data": "<?xml version='1.0' encoding='utf-8'?>\n<a>\u0431</a>"
}


 类似资料:
  • 问题内容: 是否可以使用发送 请求,例如? 我想将以下xml发送到url 我是否还想在每个请求上动态添加自定义http标头(!)。 我怎样才能在春季实现这一目标? 问题答案: 首先,定义标题,如下所示: 您可以使用此方法设置任何标题。对于众所周知的标题,您可以使用预定义的方法。例如,为了设置标题: 然后定义一个或准备您的请求对象: 如果您可以某种方式访问​​该字符串,则可以使用。否则,您可以定义一

  • 我必须发送一个带有xml数据的post请求,然后验证响应,例如检查状态代码和响应体。

  • 问题内容: 我正在向本地部署并使用JAVA Spark创建的本地服务发出POST请求。 我想使用进行POST调用时在请求正文中发送一些数据,但是每次JAVA Spark中的请求正文为null时。 下面是我为此使用的代码 Java Spark POST服务处理程序 HTTPClass进行POST调用 问题答案: 您应该仅在将参数写入主体后才调用,而不是之前。您的代码应如下所示:

  • 问题内容: 我正在尝试向SOAP Web服务发送请求。我阅读了本教程并准备了以下代码。但是,我将向多个SOAP Web服务发送不同的请求,而本教程只关注一个请求。如何使用发送SOAP请求? WebServiceTemplate 问题答案: 您可以使用以下代码,而无需在xml文件中定义任何内容。

  • 问题内容: 我不想使用文件,但是只有django才需要发出POST请求。 就像发送请求一样。 问题答案: 结合使用urllib2和urllib中的方法即可解决问题。这是我使用这两种方法发布数据的方式: 是用于打开URL的方法。 将参数转换为百分比编码的字符串。