$ curl -X POST "https://api-
us.faceplusplus.com/facepp/v3/detect" -F
"api_key=<api key>" \
-F "api_secret<api secret>" \
-F "image_url=<顔の入った写真のURL>" \
-F "return_landmark=1"
Привет, я пытаюсь написать эквивалентный код запросов python для выше, но я продолжаю получать ошибки.
import requests
import json
API_KEY = "--------------"
API_SECRET = "-----------"
image_path="/Users/dukeglacia/Downloads/test_images2/eo.jpg"
vision_base_url="https://api-us.faceplusplus.com/facepp/v3/detect"
response = requests.post(
vision_base_url,
{
'api_key': API_KEY,
'api_secret': API_SECRET,
# 'image_url': img_url,
'image_file': image_path,
'return_landmark': 1,
'return_attributes': 'headpose,eyestatus,emotion,ethnicity,beauty,facequality,mouthstatus,eyegaze,gender,age,smiling'
}
)
analysis = response.json()
print (analysis)
Моя ошибка говорит, что аргументы image_file не найдены. Но, как показано в приведенном ниже кодексе, я включил аргументы.
Согласно документации FacePlusPlus, image_file
должен быть файлом вместо пути, поэтому вы должны отправить двоичный файл файла:
response = requests.post(
vision_base_url,
{
'api_key': API_KEY,
'api_secret': API_SECRET,
'return_landmark': 1,
'return_attributes': 'headpose,eyestatus,emotion,ethnicity,beauty,facequality,mouthstatus,eyegaze,gender,age,smiling'
},
files={'image_file': open(image_path, 'rb')}
)
Более подробную информацию о том, как вы можете загрузить файл, см. В документации по requests
.
curl
за исключением того, чтоContent-Type
являетсяmultipart/form-data
вcurl
ноapplication/x-www-form-urlencoded
в python