[Delphi] Модификация IdHTTP

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by DaemoniZ, 20 Sep 2009.

  1. DaemoniZ

    DaemoniZ Member

    Joined:
    8 Jan 2006
    Messages:
    45
    Likes Received:
    9
    Reputations:
    6
    Мне нужно повторить действия программа, которая делает запрос вида:

    POST http://www.host.com/character_sync HTTP/1.1

    написав программу с использованием IdHTTP (indy), оказалось что клиент отправляет запросы вида:

    POST http://www.host.com:80/character_sync HTTP/1.0

    Проблему с версией протокола я устранил
    Code:
    idHTTP.pas
    
    427//  if not (hoKeepOrigProtocol in FOptions) then
    428    FProtocolVersion := pv1_1;
    но с портом никак не получается.
    Есть идеи?
     
  2. DaemoniZ

    DaemoniZ Member

    Joined:
    8 Jan 2006
    Messages:
    45
    Likes Received:
    9
    Reputations:
    6
    Если его не выставить, то выдает ошибку и требует ввести значение.
    Если ввести 0, то порт автоматом изменится на 80.

    Пытался отловить этот момент - не смог.

    Очень похоже, что то что мне нужно изменить находится начиная с 774 строчки idHTTP.pas

    Code:
      if FURI.Port <> IntToStr(IdPORT_HTTP) then
        ARequest.Host := FURI.Host + ':' + FURI.Port
      else
        ARequest.Host := FURI.Host;
    Но изменение этого кода ни к чему хорошему не привело.
     
    #2 DaemoniZ, 20 Sep 2009
    Last edited: 20 Sep 2009
  3. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    DaemoniZ
    ты вообще уверен что он не по 80-му идет?
    Мб стоит посмотреть в netstat?
     
  4. DaemoniZ

    DaemoniZ Member

    Joined:
    8 Jan 2006
    Messages:
    45
    Likes Received:
    9
    Reputations:
    6
    По 80 на самом деле)
     
  5. Neogan

    Neogan Banned

    Joined:
    26 Sep 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    =)