-
Добрый день! Не могу понять в чем проблема. Не уходят запросы, программа 'подвисает' на некоторое время, после чего тишина. http:=THTTPSend.Create;
http.HTTPMethod('GET', 'https://api.instagram.com/v1/users/search?q=Jack&access_token='+token);
mmo1.Lines.LoadFromStream(http.Document); Таким же образом отлично поработал с VK Api, проблем не возникало. Сталкивался ли кто-нибудь с этим ?
-
что в http.ResultCode?
-
После 3х минутного ожидания в http.ResultCode 0
-
а через браузер этот урл (с токеном) открывается?
-
Да, открывается без проблем.
-
а vk тоже по https? т.е. ssl_openssl.pas включен?
-
Да, все так же. Вроде бы принципы идентичные, однако уперся в тупик.
-
возможно инстаграму каких-то заголовков не хватает. он в Headers что-нить возвращает?
-
посмотри, какие заголовки ставит браузер, и попробуй подставить такие же
-
-
наверно как-то так http.Headers.Add('accept-encoding: gzip,deflate,sdch'); ...
-
> junglecat © (21.11.14 16:14) [10] > наверно как-то так > http.Headers.Add('accept-encoding: gzip,deflate,sdch');
ну клиент не обязан поддерживать сжатие, соответственно сервер вряд ли откажет такому клиенту.
> olegstepp © (21.11.14 16:00) [9] > Что именно из этого нужно ?
Там у тебя в куках прорва инфы, ты бы куки сначала все почистил для этого адреса, а потом эксперимент ставил с браузером.
-
Спасибо. Зачистил. http://i257.photobucket.com/albums/hh224/oleg_stepp/livejournal/headers_zpsa8055878.jpghttp:=THTTPSend.Create;
http.Headers.Add('user-agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36');
http.Headers.Add('accept-encoding: gzip,deflate,sdch');
http.Headers.Add('cache-control: max-age=0');
http.Headers.Add('accept-language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4,es;q=0.2,pt;q=0.2');
http.Headers.Add('accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8');
http.HTTPMethod('GET', 'https://api.instagram.com/v1/users/search?q=jack&access_token='+token);
mmo1.Lines.LoadFromStream(http.Document); Не помогает.
-
> olegstepp © (21.11.14 17:29) [12]
Возможно проблема в SSL/TLS. Если сервер набор вариантов шифрования/ключевого обмена/хэширования которые не поддерживаются клиентом, то соединение не установится просто и все. Надо посмотреть, как выглядит процесс рукопожатия клиента и сервера. Сними дамп соединения твоей программы с сервером с помощью Wireshark и погляди или выложи куда нибудь я погляжу.
-
> Если сервер набор вариантов
Если сервер предлагает набор вариантов
-
> olegstepp © (21.11.14 17:29) [12]
Еще, как вариант, может происходить редирект куда нибудь и уже оттуда отдаются данные, твой THTTPSend редиректы обрабатывает? А куки поддерживает, они разрешены в нем? Версия HTTP какая при соединении шлется?
-
> твой THTTPSend редиректы обрабатывает? А куки поддерживает, > они разрешены в нем?
Не знаю. Все действия по кнопке описаны выше, другого кода в программе нет. Пытаюсь разобраться и понять что к чему.
-
http.Protocol := '1.1'?
-
Пока так. http:=THTTPSend.Create;
http.Protocol:='1.1';
http.Headers.Add('User-agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36');
http.Headers.Add('Accept-encoding: gzip,deflate,sdch');
http.Headers.Add('Cache-control: max-age=0');
http.Headers.Add('Accept-language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4,es;q=0.2,pt;q=0.2');
http.Headers.Add('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8');
http.HTTPMethod('GET', 'https://api.instagram.com/v1/users/search?q=jack&access_token='+token);
mmo1.Lines.LoadFromStream(http.Document); А как обработать редиректы ? и куки
-
> olegstepp © (23.11.14 12:24) [18]
1) Cними дампы с помощью Wireshark отдельно для браузера и твоей программы проверим, все ли нормально с SSL/TLS. Правда в дампах мы не увидим содержимого, но увидим SSL Handshake.
2) Взять Fiddler и посмотреть что реально передает браузер внутри SSL/TLS. Также желательно добиться, чтобы твоя программа заработала с Fiddler (по умолчанию она не пойдет через него, т.к. он как прокси выступает). Посмотреть, что шлет программа.
3) Сравнить. Или выложить сюда. А так гадаем на кофейной гуще.
Особенно 1) пункт интересен.
|