Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 03.02.2019, 11:48   #1
BLACK_RAIN
Участник клуба
 
Регистрация: 13.02.2012
Сообщений: 567
Репутация: 101
По умолчанию сервер выдаёт "not found" на все GET-запросы через indy компоненты

Здравствуйте.
Нужно послать серверу GET-запрос и получить ответ.
Регистрируемся на сайте и в личном кабинете создаем свой уникальный ID (его можно менять в любое время). После чего можно посылать серверу запросы типа:

Код:
  IdHTTP1.Request.CustomHeaders.Add('Client-ID: <ID>');
  IdHTTP1.Request.CustomHeaders.Add('Accept: application/vnd.twitchtv.v5+json');
  Memo1.Lines.Text := IdHTTP1.Get('https://api.twitch.tv/kraken/');
В ответ приходит сообщение о том, что запрос был принят успешно, но в нем недостаточно параметров.
Усложняем задачу и посылаем полный запрос:
Код:
  IdHTTP1.Request.CustomHeaders.Add('Client-ID: <ID>');
  IdHTTP1.Request.CustomHeaders.Add('Accept: application/vnd.twitchtv.v5+json');
  Memo1.Lines.Text := IdHTTP1.Get('https://api.twitch.tv/kraken/users?login=miramisu');
В ответ должен прийти небольшой JSON-файл, но вместо этого в Delphi вываливается исключение с текстом ошибки: HTTP/1.1 404 Not Found.
И все остальные запросы IdHTTP1.Get('https://api.twitch.tv/kraken/bla-blaa-bla выдают эту же ошибку.
А если скачать программу CURL и в консоли выполнить команду
Код:
curl -H "Accept: application/vnd.twitchtv.v5+json" -H "Client-ID: <ID>" -X GET https://api.twitch.tv/kraken/users?login=miramisu
то всё работает. JSON-файл приходит.
Почему запросы из Delphi выдают ошибку Not found?
BLACK_RAIN вне форума   Ответить с цитированием
Старый 03.02.2019, 15:17   #2
BLACK_RAIN
Участник клуба
 
Регистрация: 13.02.2012
Сообщений: 567
Репутация: 101
По умолчанию

Разобрался. В Delphi надо посылать запросы не так как написано в документации к API сайта, а немного по-другому.
Как это я сразу не догадался? Всё же так очевидно.
BLACK_RAIN вне форума   Ответить с цитированием
Старый 03.02.2019, 15:18   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Адрес: Химки
Сообщений: 14,281
Репутация: 3001
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
а немного по-другому.
Написали бы как, чтобы тема за зря не висела без ответа.
Alar на форуме   Ответить с цитированием
Старый 22.02.2019, 09:33   #4
BLACK_RAIN
Участник клуба
 
Регистрация: 13.02.2012
Сообщений: 567
Репутация: 101
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
Написали бы как, чтобы тема за зря не висела без ответа.
Если опустить некоторые подробности, то проблема оказалась в кривизне компонентов Indy. Если отправлять запросы через WinAPI - всё нормально работает.

Последний раз редактировалось BLACK_RAIN; 22.02.2019 в 09:35.
BLACK_RAIN вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
компоненты indy ivanik Работа с сетью в Delphi 3 16.05.2016 18:14
У меня borland developer studio delphi 2006 так вот как вставить на вкладку tool palette компоненты Indy Clients и Indy Misc Artem_host Общие вопросы Delphi 0 01.02.2012 09:55
Компоненты indy DelPavel Компоненты Delphi 0 10.05.2011 12:25
POST на indy HTTP/1.1 404 Not Found jskorvin Работа с сетью в Delphi 2 14.12.2010 14:52
Indy. HTTP 404 Not found TwiX Работа с сетью в Delphi 6 14.09.2010 02:30


09:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru