Как я могу преобразовать этот запрос cURL в запросы Python - PullRequest
0 голосов
/ 11 сентября 2018

Запрос, который я пытался преобразовать,

curl -X POST "http://127.0.0.1:8881/models/NOVANTATREH/v1/predict" -H "Content-Type:multipart/form-data" -F "data={\"key\": \"Photo\"};type=application/json" -F "Photo=@/path/to/image.png" 

и я преобразовал его в:

import requests

headers = {
    'Content-Type': 'multipart/form-data',
}

files = {
    'data': (None, '{"key": "Photo"};type'),
    'Photo': ('/path/to/image.png', open('/path/to/image.png', 'rb')),
}

response = requests.post('http://127.0.0.1:8881/models/NOVANTATREH/v1/predict', headers=headers, files=files)

но когда я изменился /path/to/image.png на мой фактический путь Я получил 400 ошибок. Любой совет, что я делаю неправильно? (Использование curl обычно работает, так что это не проблема на стороне сервера)

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018
import requests

url = 'http://127.0.0.1:8881/models/NOVANTATREH/v1/predict'    
filepath = '/path/to/image.png' 
filename = 'image.png'    
data = {"key": "Photo"}

files = {
    'file': (filename, open(filepath, 'rb'), 'image/png'),
}

response = requests.post(url, files=files, data=data)
0 голосов
/ 11 сентября 2018

вы можете попробовать это?

import requests

url = "http://127.0.0.1:8881/models/NOVANTATREH/v1/predict"

payload = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"data\"\r\n\r\n{\"key\": \"Photo\"};type=application/json\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"Photo\"\r\n\r\n@/path/to/image.png\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--"
headers = {
    'content-type': "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW",
    'Content-Type': "multipart/form-data",
    'Cache-Control': "no-cache"
    }

response = requests.request("POST", url, data=payload, headers=headers)

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