Пожалуйста, помогите с запросом curl, я прочитал все сообщения в стеке, но это не помогло.
Мне нужно отправить запрос curl в php (форма с изображением).
Вот пример:
curl https://partners-api.999.md/images \
--request "POST" \
--user "AxYcHhZsPqHTpthS2C_7xRmPoLK:"
--form "file=@image.jpg"
Я пробовал это:
$file_url = "https://www.google.md/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png";
$eol = "\r\n";
$BOUNDARY = md5(time());
$BODY="";
$BODY.= '--'.$BOUNDARY. $eol;
$BODY .= 'Content-Disposition: form-data; name="file"; filename="googlelogo_color_272x92dp.png"' . $eol . $eol;
$BODY.= 'Content-Type: application/octet-stream' . $eol;
$BODY.= 'Content-Transfer-Encoding: base64' . $eol . $eol;
$BODY.= chunk_split(base64_encode(file_get_contents($file_url))) . $eol;
$BODY.= '--'.$BOUNDARY .'--' . $eol. $eol;
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: multipart/form-data; boundary=".$BOUNDARY));
curl_setopt($ch, CURLOPT_USERPWD, "token");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/1.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0');
curl_setopt($ch, CURLOPT_URL, "https://partners-api.999.md/images");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $BODY);
$response = curl_exec($ch);
print_r($response);
Я не понимаю, что не так, ответ:
{
"error": {
"errors": [
],
"reason": "bad_request",
"code": 400,
"message": "No handler matched this image"
}
}