2013-06-09 2 views
0

Я использую компонент в delphi indy idhttp 2010, и у меня есть следующая проблема: я пытаюсь получить все значения rawheaders idHTTP1.Request.RawHeaders.Values ​​['User-Agent'], единственное, что я знаю о пользователе и мне интересно, где я могу найти список значений для использования в RawHeaders.Values.RawHeaders.Values ​​в Delphi 2010

Может кто-нибудь мне помочь?

ответ

1

Ваш вопрос можно прочитать несколькими способами.

Вы спрашиваете «получить все значения rawheaders» - это «читать, а не изменять». И тогда вы рассказываете о «значениях, которые нужно использовать в RawHeaders.Values» - это «писать, а не читать».

На самом деле трудно догадаться, что вы имели в виду здесь.

  • Ну, если вы хотите читать все значения, содержащиеся там, вы должны начать с документации по idHTTP1.Request: http://www.indyproject.org/docsite/html/TIdEntityHeaderInfo.html
  • Там вы нажмите на «Свойства» ссылку, выберите «RawHeaders» недвижимость и - после чтения property RawHeaders: TIdHeaderList; - перейти к http://www.indyproject.org/docsite/html/TIdHeaderList.html
  • Там вы читаете, что RawHeaders - как и ожидалось - являются подклассом TStringList, поэтому вы можете прочитать его со всеми обычными способами, связанными с TStrings.

Как

  • idHTTP1.Request.RawHeaders.SaveToFile('1.txt');
  • s := idHTTP1.Request.RawHeaders.CommaText;
  • with idHTTP1.Request.RawHeaders do for i := 0 to Count - 1 do begin s := Strings[i]; ... end;
  • for s in idHTTP1.Request.RawHeaders do begin ... end;

т.д.


  • В качестве альтернативы, если вы хотите написать некоторые здравомыслящие и безопасные значения, вы должны начать с документации по idHTTP1.Request: http://www.indyproject.org/docsite/html/TIdEntityHeaderInfo.html
  • Там вы можете увидеть ссылку на «Протокол передачи гипертекста версии 1.1», где вы может найти большинство из них
  • Или вы можете добавить некоторые нестандартные заголовки с префиксом «X-» после тестирования того, что ваш сервер не сломается при их обнаружении.
  • Также обратите внимание, что часто используются нестандартные заголовки или их параметры, например, в content-disposition. Некоторые из них, вероятно, ретроактивно описываются сообществами, такими как рабочая группа HTML5. Или, может быть, нет,
  • Также обратите внимание, что существует ряд суб-протоколов, построенных поверх HTTP. Как и WebDAV. Подобно передаче файлов в протоколе Gnutella2 и т. Д. Они могут добавлять свои собственные пользовательские заголовки, которые не были описаны в их базовом HTTP-протоколе. Прочитайте документацию по этим протоколам, вас может заинтересовать (если есть).
+0

благодарит за помощь. – 14K