Как читать текст с несколькими URL-адресами с помощью reqparse.parser в Python - PullRequest
0 голосов
/ 04 октября 2018

Я использую python (флешку) для чтения ввода из командной строки, используя следующий код, но когда я передаю строки с кодировкой URL (несколько аргументов, разделенных пробелом) в качестве ввода, он объединяется в одну строку с пробелом как '+'.

Sample.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))

run:

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

output:

 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)

Как можно избежать такой вещи?

1 Ответ

0 голосов
/ 04 октября 2018

Вы не можете использовать пробелы в параметрах формы (которые вы передаете с -d в curl).

Я предлагаю вам urlencode ваших параметров, прежде чем передавать их в curl или использовать какой-нибудь другой http-клиент, который сделает это за вас.например, запросы или httpie

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...