Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 15.03.2016
Сообщений: 18
1

Как вытащить Response Headers из TNetHTTPClient

17.01.2017, 18:34. Показов 6961. Ответов 5
Метки нет (Все метки)

Доброго временя суток.
Подскажите как можно вывести в мемо Response Headers при запросе на сайт используя TNetHTTPClient.
RAD Studio Berlin 10.1 Update 2
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2017, 18:34
Ответы с готовыми решениями:

Angular7 - Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response
Добрый день. Пытаюсь ваять свой первый проект на angular. В процессе появилась необходимость...

Не работает Response.Redirect !: The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing
точнее все работает на тестовом сервере (Вин2000), при переносе на рабочий страница с редиректом...

Свойства Response.Expires = 60 Response.Expiresabsolute = Now() - 1 Response.AddHeader 'pragma','no-cache' Response.AddHeader 'cache-control','p
Нашел в Инете строчки для запрета буфиризации и кэширования страници бравзером Response.Expires =...

TNetHTTPClient. Как получить содержание переадресуемой страницы?
Пытаюсь простым способом NetHTTPClient1.Get(WWW,s); получить запрашиваемую интернет-страницу, но...

__________________
5
4931 / 3840 / 1277
Регистрация: 14.04.2014
Сообщений: 17,721
Записей в блоге: 18
17.01.2017, 21:34 2
Лучший ответ Сообщение было отмечено Idera как решение

Решение

http://docwiki.embarcadero.com... TTP_Client

а зачем вам TNetHttpClient?
Это всего лишь обертка над THttpClient
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
var
  H:THTTPClient;
  resp:IHTTPResponse;
  hd:TNetHeaders;
  i: Integer;
begin
  h:=THTTPClient.Create;
  resp:=h.Get('http://e1.ru');
  hd:=resp.GetHeaders;
  for i := 0 to High(hd) do
  begin
    m1.Lines.add(hd[i].Name+'='+hd[i].Value);
  end;
1
1 / 1 / 0
Регистрация: 15.03.2016
Сообщений: 18
18.01.2017, 00:40  [ТС] 3
Цитата Сообщение от krapotkin Посмотреть сообщение
а зачем вам TNetHttpClient?
На форуме где-то 5-7 рас встречал ваши советы отказаться от глючной Indy
Вот решился, а инфы полный ноль в нете
Когда что нужно узнать, вбиваю в поиск TNetHttpClient1 и свойство к нему
И смотрю уже по чужому коду
По офф. справочнику не умею по англ. и плюс без примеров.
Нашел в нете такой пример
Delphi
1
Memo1.Text:=NetHTTPClient1.Get('http://your.site').ContentAsString();
Вот им и пользуюсь.
Еще посмотрел видео от Embarcadero Technologies
Developer Skill Sprint - Using Native HTTP Client Components
Так там показано на форму еще и NetHTTPRequest1 бросить и подключить к нему TNetHttpClient1
А запрос вот так.
Delphi
1
2
NetHTTPRequest1.URL:='http://docwiki.embarcadero.com/';
Memo1.Text:=NetHTTPRequest1.Execute().ContentAsString();
Можете сказать в чем разница всех этих методов и ваш в том числе и вашем
Какой правильнее и лучше.
Работаю то они одинаково.

И еще вопрос по заголовкам, когда моя ссылка содержит редирект.
То по вашему коду я узнаю заголовки не моей ссылки, а той что с моей перенаправило.
В частности нужно знать куда перенаправляет поле location
0
4931 / 3840 / 1277
Регистрация: 14.04.2014
Сообщений: 17,721
Записей в блоге: 18
18.01.2017, 00:49 4
Мой код не содержит экранных компонентов и не ждет обработчиков
Правильнее уж не знаю, но когда начнется "а у меня форму замораживает, давайте в поток..."
тут экранные и отпадут.
про английский без него в этой сфере никак. но тех. тексты и гугл переводит сносно, можно понять
Редиректами заведует свойство HandleRedirects они либо есть либо нет, т.е. получаем ваш исходный файл
1
1 / 1 / 0
Регистрация: 15.03.2016
Сообщений: 18
18.01.2017, 10:52  [ТС] 5
Цитата Сообщение от krapotkin Посмотреть сообщение
про английский без него в этой сфере никак. но тех. тексты и гугл переводит сносно
Это понимаю что надо учить, перевести он переведет а вот объяснит как этим пользоваться уже нет.
Я вот в справочнике нашел как добавить CustomHeaders но не понял как его использовать.
Delphi
1
property CustomHeaders[const AName: string]: string read GetCustomHeaderValue write SetCustomHeaderValue;
Только с поиском в примере понял, что так.
Delphi
1
NetHTTPClient1.CustomHeaders['X-Requested-With']:='XMLHttpRequest';
Я понимаю что без это еще сильнее не обойтись, то есть умение читай параметры свойства и тому подобное.
Но пока что не встречал информации как ими пользоваться.
А самому туго доходит.
Спасибо за помощь.
0
4931 / 3840 / 1277
Регистрация: 14.04.2014
Сообщений: 17,721
Записей в блоге: 18
18.01.2017, 13:33 6
тут уже вопрос не к делфи
заголовки - читайте про http
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2017, 13:33

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Постоянные ошибки с сессиями (headers already sent и Cannot modify headers)
Добрый день, хоть тема я так понял и избитая но всё же не могу понять логику работы сессий. Вот у...

Проблема с загрузкой файла response.ContentType = 'text/plain' Response.Addheader 'Content-disposition', 'attachment; filename=export.txt'
Есть файл, который содержит response.ContentType = 'text/plain' Response.Addheader...

Как вытащить из свойства fields recordset вытащить данные в массив
Как вытащить из свойства fields recordset вытащить данные в массив ассоциативный , подскажите плиз

Не выполняется Response.Redirect: Response object error 'ASP 0156 : 80004005' Header Error
Вот такая вот ошибка на простой вызов редиректа на вполне доступный адрес. что бы это могло быть? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.