Ответ от сервера - полезная нагрузка JSON с кодом 450
Я отправляю запрос в API, но в ответ получаю эту полезную нагрузку JSON:
{"status":{"code":450,"message":null},"response":null}
Используя браузер, этот API работает нормально, но с xmlhttprequest, использующим C#, возвращает ошибку. Может ли кто-нибудь помочь мне понять, если API возвращает данные в браузере, но не с программированием, каковы могут быть причины.
Заранее спасибо.
Вот URL-адрес "https://www.atea.dk/eshop/products/skaerme-og-projektorer/skaerme/"
string API = "https://www.atea.dk/eshop/nodeapi/get-products"; string json = new JavaScriptSerializer().Serialize(new { nextPage = 2, url = "https://www.atea.dk/eshop/products/skaerme-og-projektorer/skaerme/" }; using (var client = new WebClient()) { client.Headers.Add("Content-Type", "application/json"); string result = client.UploadString(API, "POST", json); }
Что я уже пробовал:
Я перепробовал все, что мог, но, похоже, некоторые заголовки из этого API мне не хватает. Я буду благодарен, если смогу получить какую-нибудь помощь.
F-ES Sitecore
Если 450-это http-код, то это означает "заблокирован родительским контролем". В любом случае, используйте такой инструмент, как Fiddler, чтобы проверить вызов, когда он сделан браузером, и вызов, когда он сделан вашим кодом. Скорее всего, браузер добавляет гораздо больше информации о заголовке, и вам нужно выяснить, какой заголовок отсутствует в вашем коде. Это может быть так же просто, как пользовательский агент, тип accept и так далее. Ты не узнаешь, пока не посмотришь.
NOOSL
Я попробовал еще раз, но безуспешно. Не могли бы вы пожалуйста, помогите мне здесь.
F-ES Sitecore
Я не могу получить доступ к вашей системе, я не могу проанализировать трафик, чтобы увидеть, как эти два вызова отличаются. Обновите свой первоначальный вопрос с полной информацией о запросе обоих звонков, и, возможно, кто-то сможет заметить важную разницу.
NOOSL
Вот URL-адрес "https://www.atea.dk/eshop/products/skaerme-og-projektorer/skaerme/"
Если вы можете помочь найти заголовки, которые браузер отправляет на сервер, а затем я могу сравнить с заголовком, который я отправляю в своих запросах, т. е.
следующая страница = 2,
URL-адрес = "https://www.atea.dk/eshop/products/skaerme-og-projektorer/skaerme/"
Richard MacCutchan
Я только что попробовал вызов API, и он возвращает код ошибки 449. Вам необходимо обратиться за помощью к владельцам сайта.
NOOSL
Это сайт электронной коммерции, к которому каждый может получить доступ. Мне интересно, может ли браузер успешно передавать данные, почему бы и нет через xmlhttprequest.
Richard MacCutchan
Не имеет значения, что это такое, вам все равно нужно сформулировать свой запрос в соответствии с правилами сайта.
NOOSL
Я не могу понять, почему мне нужна помощь. Если кто-то способен, пожалуйста, решите эту проблему и посоветуйте. Спасибо