Есть сайт с данными. Мне нужно спарсить от туда картинки. Но есть проблема - это все доступно только после авторизации. Доступы на сайт есть. Запрос для этих картинок тоже есть. И заметила, что если авторизуешься на этом сайте, то можно делать запрос со своего сервера через аякс и получать нужные данные в формате json. А вот тут и начинается засада. Как я поняла данные идут в формате json. А аякс дает данные в формате jsonp. И в итоге при получении данных выскакивает ошибка. Как получить эти данные?
Вот мой код
$.ajax({
url: "https://*******.ru/api/goods/",
type: 'POST',
data: str,
dataType: 'jsonp',
jsonp: "callback",
complete: function (res) {
}
});
Ответ сервера
И такой вопрос: как сервер распознает, что он должен дать ответ в json?
Т.к. так не получается, то паралельно пытаюсь и через curl сделать запрос. Но ответ приходит не тот.
Код запроса:
$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3');
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $str);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_HTTPHEADER, array("X-Requested-With: XMLHttpRequest"));
curl_exec ($ch);
$result = curl_multi_getcontent ($ch);
var_dump($result);
curl_close ($ch);