maxya-zp
@maxya-zp
Потомственный лесоруб

Curl возвращает 204 No Content?

При запросе из консоли. curl нормально получает ответ от api {"cookie":{},"token":""}

curl --header "Content-Type: application/json" \
  --request POST \
  --data '{"token":"ALGi_xGU8tO-DNDy074MN3NS9QVb_lxa2vl4f-mIkiD_1NpWUatMtoaD9h8nAdDGPUSQBeA8BDcS3iRlRWzA2pR0567ddf","device":"Windows","version":"Mozilla Firefox 109.0"}' \
  https://seller.wildberries.ru/passport/api/v2/auth/login


Но если перенести в php, получаю HTTP/1.1 204 No Content

$body = '{"token"=>"ALGi_xGU8tO-DNDy074MN3NS9QVb_lxa2vl4f-mIkiD_1NpWUatMtoaD9h8nAdDGPUSQBeA8BDcS3iRlRWzA2pR0567ddf","device"=>"Windows","version"=>"Mozilla Firefox 109.0"}';
$url = 'https://seller.wildberries.ru/passport/api/v2/auth/login';
$headers = [
	'Content-Type: application/json',
];

$ch = curl_init();
$options = array(
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => $body,
    CURLOPT_HTTPHEADER => $headers
);
curl_setopt_array( $ch, $options );
$response = curl_exec($ch); 
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ( $httpCode != 200 ){
    echo "Return code is {$httpCode} \n"
        .curl_error($ch);
} else {
    echo "<pre>".htmlspecialchars($response)."</pre>";
}
curl_close($ch);


Подскажите, куда копать?
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
maxya-zp
@maxya-zp Автор вопроса
Потомственный лесоруб
Решилось всё добавлением хедера user-agent
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36");


Спасибо Виталий Артемьев

Сделал запрос на webhook.site из консоли и php и увидел что консоль отдаёт заголовок user-agent curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.87.0 OpenSSL/1.0.1e-fips zlib/1.2.3, а php нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
402d
@402d
начинал с бейсика на УКНЦ в 1988
204 нормальный ответ. Часто используется для небольших порций данных.
Просто данные возвращаются в хедерах.
Ответ написан
@humoured
Вы всё на свете найдёте в коробке с карандашами
Нужно добавить CURLOPT_POST => true
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
шоб два раза не вставать
https://qna.habr.com/q/1252236#answer_2292020
Ответ написан
@maksam07
Не совсем понятно, что вы делаете, но возможно этот материал чем-то поможет:
https://prestashop-forum.ru/index.php?topic=11424.0
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
04 мая 2024, в 17:58
10000 руб./за проект
04 мая 2024, в 17:40
1000 руб./за проект
04 мая 2024, в 17:35
150000 руб./за проект