PankovAlxndr
@PankovAlxndr
Junior Front-end

Как получить json запросом из php, зная url сервера (API)?

Здравствуйте, есть такой URL, если пробрать его в браузере то мне приходит JSON, который я хочу потом прочитать и что-т ос ним сделать?

https://w102a21be.api.esales.apptus.cloud/api/v1/panels/category-products-color?market=RURU&arg.market=RURU&arg.selected_category=category_catalog_ruru:%2710651%27&arg.window_first=1&arg.window_last=999&arg.presentation_attributes=product[id]&arg.facets=&arg.main_product_filter=catalog_main_product:%20%27true%27

Так вот, я не могу сделать это на php
Делаю так:

$cat_id = 10651;
$url = "https://w102a21be.api.esales.apptus.cloud/api/v1/panels/category-products-color?market=RURU&arg.market=RURU&arg.selected_category=category_catalog_ruru:'$cat_id'&arg.window_first=1&arg.window_last=10&arg.presentation_attributes=product[id]&arg.facets=&arg.main_product_filter=catalog_main_product: 'true'";

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close($ch);


в $result у меня приходит:
<html><body><h1>400 Bad request</h1>
Your browser sent an invalid request.
</body></html>


пробовал всякие заголовки отправлять - ничего, почему через php я получаю ошибку, а из браузера все хорошо? как мне получить json из php?
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
Пробел в $url уберите.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
l3ftoverz
@l3ftoverz Куратор тега PHP
Люблю Финский металкор
Всякие заголовки не нужны, тут нужен опытный путь, банальное исследование.
Ты можешь просто продублировать все заголовки, которые шлёт браузер и тогда в PHP с высокой вероятностью всё так же будет работать.

UPD: Постучал на этот адрес через обычный file_get_contents - получил json.
UPD2: Ты через CURL шлёшь неверный запрос, нужно кодировать строку в URL, потому, что у тебя есть спец-символы.
Пруф:
5dadd4ecc97e9732993809.png
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
21 нояб. 2019, в 10:21
140000 руб./за проект
21 нояб. 2019, в 09:33
500 руб./за проект
21 нояб. 2019, в 09:12
3001 руб./за проект