如何在python中通过reqparse.parser读取多个url编码的文本

我正在使用 python (flask) 使用以下代码从命令行读取输入,但是当我传递 url 编码的字符串(用空格分隔的多个参数)作为输入时,它会合并为单个字符串,空格为“+”。


示例.py


from flask_restful import reqparse

parser = reqparse.RequestParser()

parser.add_argument('output')

args = parser.parse_args()

indata=args['output']

print(urllib.parse.quote_plus(indata))

跑步:


python sample.py 

curl http://localhost:5000/mypage -d "output=ld%22+to+the+term old+%7B%0A++++pub" -X POST -v

输出:


 ld%22+to+the+term+old+%7B%0A++++pubin

虽然我希望输出是


   ld%22+to+the+term  old+%7B%0A++++pubin  (so that they can be spitted easily with separator)

我怎样才能避免这样的事情?


倚天杖
浏览 110回答 1
1回答

MMMHUHU

您不能在表单参数中使用空格(-d在 curl 中传递)。我建议您在将参数传递给 curl 之前对参数进行 urlencode,或者使用其他一些为您执行此操作的 http 客户端。例如请求或httpie
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python