当我试图访问http://localhost:5000/soap/someservice时,406无法接受
API错误:请求标识的资源只能根据请求中发送的接受头生成内容特征不可接受的响应实体。支持的实体是text/html。
这是服务器端的一个片段

from flask import Flask, jsonify
from flask_accept import accept
app = Flask(__name__)

@app.route('/soap/someservice')
@accept('text/html')
def hello_world():
    return 'Hello World!'

我在客户端的尝试:
from suds.client import Client
url = 'http://localhost:5000/soap/someservice?wsdl'
client = Client(url)

406 not acceptable

import requests
r=requests.get("http://localhost:5000/soap/someservice", headers={"content-type":"text"})
print(r)

406 not acceptable

所有的解决方案都会给出相同的错误提示吗?

最佳答案

你已经指定

@accept('text/html')

在烧瓶终结点中,但尚未在请求中提供指定text/htmlAccept Header。比较运行Flask应用程序,但使用:
In [3]: import requests
   ...: r=requests.get("http://localhost:5000/soap/someservice",
                       headers={"Accept":"text/html"})
   ...: print(r)
   ...:
<Response [200]>

关于python-3.x - * Python * 406 Not Acceptable ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56927233/

10-11 13:02