Python和unicode字符串编码转换
我不熟悉烧瓶和编码。使用蟒蛇3 我有一个应用程序:Python和unicode字符串编码转换,python,python-3.x,flask,unicode,encoding,Python,Python 3.x,Flask,Unicode,Encoding,我不熟悉烧瓶和编码。使用蟒蛇3 我有一个应用程序: from flask import Flask from flask import request from flask import jsonify import requests app = Flask(__name__) QUERY_PARAM = 'q' @app.route('/response', methods=['GET']) def get_query(): query = request.args.get(Q
from flask import Flask
from flask import request
from flask import jsonify
import requests
app = Flask(__name__)
QUERY_PARAM = 'q'
@app.route('/response', methods=['GET'])
def get_query():
query = request.args.get(QUERY_PARAM)
user_input = dict()
user_input['text'] = query
return jsonify(user_input), requests.codes.ok
我输入/响应?q=什么是ab\u0026c
它现在返回:{“text”:“什么是ab\u0026c”}
我希望它返回:{“text”:“什么是ab&c”}
在代码中尝试了一些编码,但没有一个对我有效。
有人能告诉我如何做到这一点,并帮助我理解它吗 您的实现似乎工作正常,但您以错误的方式传递了查询参数 您想发送文本:
“什么是ab&c”
。
此文本需要编码为URL的编码
例如,您可以通过在shell中运行以下行来使用python:
>>> from urllib.parse import urlencode
>>> payload = dict(q="what is ab&c")
>>> urlencode(payload)
'q=what+is+ab%26c'
因此,我们知道请求将是:
http://localhost:5000/response?q=what+is+ab%26c
其结果是:
{
"text": "what is ab&c"
}
您的实现似乎工作正常,但以错误的方式传递查询参数 您想发送文本:
“什么是ab&c”
。
此文本需要编码为URL的编码
例如,您可以通过在shell中运行以下行来使用python:
>>> from urllib.parse import urlencode
>>> payload = dict(q="what is ab&c")
>>> urlencode(payload)
'q=what+is+ab%26c'
因此,我们知道请求将是:
http://localhost:5000/response?q=what+is+ab%26c
其结果是:
{
"text": "what is ab&c"
}
你可以试试
user\u input['text']=str(查询)
。你可以试试user\u input['text']=str(查询)
。