Преобразование запроса curl в запрос Python - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь преобразовать команду cURL в запросы Python, но ударился о стену. Может быть, у кого-то возникнет идея.

Я использовал этот сайт для справки, и у меня есть такая команда cURL:

curl -F "file=@myfile.json" -H "Authorization: ApiKey xxxxxxxxxxx" -F 'scan_type=Arachni Scan' -F 'tags=test' -F 'active=true' -F 'scan_date=2018-11-15' -F 'engagement=/api/v1/engagements/1/'  -F 'eid=1' https://example.com:443/api/v1/importscan/

После преобразования в python мой экстракт скрипта выглядит так:

files = {
    'file': ('myfile.json', open('myfile.json', 'rb')),
    'scan_type': 'Arachni Scan',
    'tags': 'test',
    'active': 'true',
    'scan_date': '2018-11-15',
    'engagement': '/api/v1/engagements/1/',
    'eid': '1',
}

response = requests.post('https://example.com:443/api/v1/importscan/', headers=headers, files=files)
print response.text

К сожалению, команда cURL выполнена успешно, но запрос python возвращает

{"error": "Request is not valid JSON."}

Что мне здесь не хватает? Спасибо!

1 Ответ

0 голосов
/ 15 ноября 2018
import json

response = requests.post('https://example.com:443/api/v1/importscan/', headers=headers, files=json.dumps(files))

Использование json.dumps поможет.

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