Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Get-запрос. ошибка на повторном запросе 
:(
    Опции темы
aktuba
Дата 30.1.2007, 05:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



У меня тут проблема возникла. Я делаю клиент для сайта, для создания новостей.
Есть dll-файл, который отправляет новость на сайт.
Выглядит следующим образом:
Код

unit uInet;

interface

uses
    uInetThread,
    IdHTTP,
  IdCookieManager;

function GetError(ACode: Integer): string; stdcall;
procedure StopPost; stdcall;
procedure PostArticle(const ALogin, APassword, ACaption, AText, ADoc,
                                          AInLink, ACategory: string; AIsProxy: Boolean;
                      const AProxyAdress: string; AProxyPort: Integer;
                      const AProxyLogin, AProxyPassword: string;
                      ATimeOut: Integer; AHandle, WM_StartPost, WM_EndPost, WM_StatusText: Cardinal); stdcall;
function About: string; stdcall;
function Copiright: string; stdcall;

procedure DLLEntryPoint(Reason: LongWord);

var
    FHTTP: TIdHTTP;
  FCookie: TIdCookieManager;
  FThread: TInetThread;

implementation

uses
    Windows,
  Classes,
  SysUtils,
  uInetConsts;

function GetError(ACode: Integer): string; stdcall;
begin
// возврат строки с описанием ошибки
end;

procedure PostArticle(const ALogin, APassword, ACaption, AText, ADoc,
                                          AInLink, ACategory: string; AIsProxy: Boolean;
                      const AProxyAdress: string; AProxyPort: Integer;
                      const AProxyLogin, AProxyPassword: string;
                      ATimeOut: Integer; AHandle, WM_StartPost, WM_EndPost, WM_StatusText: Cardinal); stdcall;
begin
    FThread := TInetThread.Create(True);
  FThread.FreeOnTerminate := False;
  FThread.FHTTP := FHTTP;
  FThread.ALogin := ALogin;
  FThread.APassword := APassword;
  FThread.ACaption := ACaption;
  FThread.AText := AText;
  FThread.ADoc := ADoc;
  FThread.AInLink := AInLink;
  FThread.ACategory := ACategory;
  FThread.AIsProxy := AIsProxy;
  FThread.AProxyAdress := AProxyAdress;
  FThread.AProxyPort := AProxyPort;
  FThread.AProxyLogin := AProxyLogin;
  FThread.AProxyPassword := AProxyPassword;
  FThread.ATimeOut := ATimeOut;
  FThread.FHandle := AHandle;
  FThread.WM_StartPost := WM_StartPost;
  FThread.WM_EndPost := WM_EndPost;
  FThread.WM_StatusText := WM_StatusText;
  FThread.Resume;
end;

procedure StopPost; stdcall;
begin
    if Assigned(FThread) then FThread.Free;
  FHTTP.CookieManager.CookieCollection.Clear;
  FThread := nil;
end;  

procedure DLLEntryPoint(Reason: LongWord);
begin
    case Reason of
    DLL_PROCESS_ATTACH:            // Ïðîãðàììà ïîäêëþ÷àåòñÿ ê DLL
     begin
       FHTTP := TIdHTTP.Create(nil);
        FHTTP.Host := Pg_Host;
            FHTTP.Port := 80;
        FCookie := TIdCookieManager.Create(nil);
        FHTTP.CookieManager := FCookie;
        FHTTP.HandleRedirects := True;
        FHTTP.HTTPOptions := [];
        FHTTP.Request.BasicAuthentication := False;
        FThread := nil;
      end;
        DLL_THREAD_ATTACH:    ;  
        DLL_THREAD_DETACH:    ;  
        DLL_PROCESS_DETACH:    
     begin
        if Assigned(FCookie) then FCookie.Free;
       if Assigned(FHTTP) then FHTTP.Free;
        FCookie := nil;
        FHTTP := nil;
        if Assigned(FThread) then
         begin
            FThread.Free;
            FThread := nil;
          end;  
      end;  
  end;
end;

end.


Код

unit uInetThread;

interface

uses
  Classes,
  IdHTTP,
  IdMultipartFormData,
  IdGlobal,
  Messages,
  Windows;

type
  TInetThread = class(TThread)
  public
    FHTTP: TIdHTTP;
    ALogin: string;
    APassword: string;
    ACaption: string;
    ADoc: string;
    AText: string;
    AInLink: string;
    ACategory: string;
    AProxyAdress: string;
    AProxyPort: Integer;
    AProxyLogin: string;
    AProxyPassword: string;
    ATimeOut: Integer;
    AIsProxy: Boolean;
    WM_StartPost: Cardinal;
    WM_EndPost: Cardinal;
    WM_StatusText: Cardinal;
    FHandle: Cardinal;
  private
    { Private declarations }
    FResult: Integer;
    function DoLogin(const ALogin, APassword: string; AIsProxy: Boolean; const AProxyAdress: string; AProxyPort: Integer; const AProxyLogin, AProxyPassword: string): Integer;
    function GetDoc(const AUrl: string; out ADoc: Integer): Integer;
    function PostHDDImage(const ADoc, APath: string; out AUrl: string): Integer;
    function DoImages(const ADoc: string; var AText: string): Integer;
  protected
    procedure Execute; override;
  end;

implementation

uses
    SysUtils,
  uInetConsts;

{ TInetThread }

function TInetThread.DoLogin(const ALogin, APassword: string; AIsProxy: Boolean;
                                 const AProxyAdress: string; AProxyPort: Integer;
                 const AProxyLogin, AProxyPassword: string): Integer;
var
    Data: TStringList;
  ResStr: string;
begin
    Result := -1;
  if AIsProxy then
    begin
      FHTTP.ProxyParams.ProxyServer := AProxyAdress;
      FHTTP.ProxyParams.ProxyPort := AProxyPort;
      FHTTP.ProxyParams.ProxyUsername := AProxyLogin;
      FHTTP.ProxyParams.ProxyPassword := AProxyPassword;
    end else
     begin
        FHTTP.ProxyParams.ProxyServer := '';
       FHTTP.ProxyParams.ProxyPort := 0;
       FHTTP.ProxyParams.ProxyUsername := '';
       FHTTP.ProxyParams.ProxyPassword := '';
      end;
  if ATimeOut <= 0 then ATimeOut := 30;
  Data := TStringList.Create;
  try
    Data.Text := C_Login + '=' + ALogin + '&' + C_Password + '=' + APassword;
    ResStr := '';
    try
     ResStr := FHTTP.Post(pg_Host, Data);
      if (ResStr = '') or (Pos(C_UnLogin, ResStr) > 0) then Result := 1;
    except
     Result := 6;
    end;
  finally
    Data.Free;
  end;
end;

function TInetThread.GetDoc(const AUrl: string; out ADoc: Integer): Integer;
var
    ResStr, sVal: string;
  Idx: Integer;
  lUrl: string;
begin
  Result := -1;
  ADoc := 0;
  lUrl := AUrl;
  if lUrl[Length(lUrl)] <> '/' then lUrl := lUrl + '/';
  lUrl := lUrl + C_AddNew;
  ResStr := FHTTP.Get(lUrl); <------------------------------------------------------ ВНИМАНИЕ!!!!
  if (ResStr = '') or (Pos(C_Doc, ResStr) <= 0) or (Pos(C_AddForm, ResStr) <= 0) then Result := 2;
  if Result < 0 then
    begin
      Idx := Pos(C_Doc, ResStr);
      if Idx > 0 then
       begin
          Inc(Idx, Length(C_Doc));
          sVal := '';
          while (Idx < Length(ResStr)) and (ResStr[Idx] <>'"') do
           begin
             sVal := sVal + ResStr[Idx];
              Inc(Idx);
            end;
          ADoc := StrToIntDef(sVal, 0);
        end;  
    end;
end;

function TInetThread.PostHDDImage(const ADoc, APath: string; out AUrl: string): Integer;
var
    lData: TIdMultiPartFormDataStream;
  lResStr, lRes: string;
  lUrl, lPref: string;
  Idx: Integer;
begin
    Result := -1;
  AUrl := '';
  lData := TIdMultiPartFormDataStream.Create;
  try
    lData.AddFile(C_HDDImage, APath, GetMIMETypeFromFile(APath));
    lUrl := ADoc;
    if lUrl[Length(lUrl)] <> '/' then lUrl := lUrl + '/';
    lUrl := lUrl + C_AddImage;
    lResStr := FHTTP.Post(lUrl, lData);
    if (lResStr <> '') and (Pos(C_SParseImg, LowerCase(lResStr)) > 0) then
     begin
        lRes := '';
       Idx := Pos(C_SParseImg, LowerCase(lResStr)) + Length(C_SParseImg) + 1;
        while lResStr[Idx] <> '''' do
         begin
            lRes := lRes + lResStr[Idx];
            Inc(Idx);
          end;
       lPref := '';
        Inc(Idx, 4);
        while lResStr[Idx] <> '''' do
         begin
            lPref := lPref + lResStr[Idx];
            Inc(Idx);
          end;
        if (lRes = '') or (lPref = '')
         then Result := 4
          else AUrl := lPref + ':' + lRes;
      end else Result := 3;
  finally
    lData.Free;
  end;
end;  

function TInetThread.DoImages(const ADoc: string; var AText: string): Integer;
var
    lUrl, lImg, lNewImg: string;
  Idx: Integer;
  FImg: Boolean;
  Num: Integer;
  lStr, sss: string;
begin
  Result := -1;
  Num := 0;
  FHTTP.Host := ADoc;
  lUrl := ADoc;
  if lUrl[Length(lUrl)] <> '/' then lUrl := lUrl + '/';
  lUrl := lUrl + C_AddImage;
  FHTTP.Request.Referer := lUrl;
  Idx := 1;
  FImg := False;
  lImg := '';
  while Idx < Length(AText) do
    begin
      sss := LowerCase(Copy(AText, Idx, Length(C_StartImg)));
      if (LowerCase(Copy(AText, Idx, Length(C_EndImg))) = C_EndImg) and FImg then
       begin
          Inc(Num);
          lStr := str_DoImages + IntToStr(Num) + str_DoImagesSuf;
          PostMessage(FHandle, WM_StatusText, Integer(lStr), Length(lStr));
          Result := PostHDDImage(ADoc, lImg, lNewImg);
          if Result >= 0 then Exit;
          AText := StringReplace(AText, lImg, lNewImg, [rfReplaceAll, rfIgnoreCase]);
          Idx := Idx - Length(lImg) + Length(lNewImg) - 1;
          FImg := False;
          lImg := '';
        end;
      if FImg then lImg := lImg + AText[Idx];
      if (LowerCase(Copy(AText, Idx, Length(C_StartImg))) = C_StartImg) and not FImg then
       begin
         FImg := True;
          Inc(Idx, Length(C_StartImg) - 1);
        end;
      sss := '';
     Inc(Idx);
    end;
end;

procedure TInetThread.Execute;
var
    lDocID: Integer;
  lTxt: string;
  lData: TStream;
  lUrl: string;
  lCat: Integer;
  lResStr: string;
  lStr: string;
begin
    if (FHandle > 0) and (WM_StartPost > 0) then PostMessage(FHandle, WM_StartPost, 0, 0);
  try
    FHTTP.ReadTimeout := 1000 * ATimeOut;
    FHTTP.Request.Referer := pg_Host;
    FHTTP.AllowCookies := True;
    FHTTP.CookieManager.CookieCollection.Clear;
    PostMessage(FHandle, WM_StatusText, Integer(PChar(str_Auths)), Length(str_Auths));
    FResult := DoLogin(ALogin, APassword, AIsProxy, AProxyAdress, AProxyPort, AProxyLogin, AProxyPassword);
    if FResult >= 0 then Exit;
    PostMessage(FHandle, WM_StatusText, Integer(PChar(str_GetDocs)), Length(str_GetDocs));
    FResult := GetDoc(ADoc, lDocID);
    if FResult >= 0 then Exit;
    lTxt := AText;
    PostMessage(FHandle, WM_StatusText, Integer(PChar(str_StartImages)), Length(str_StartImages));
    FResult := DoImages(ADoc, lTxt);
    if FResult >= 0 then Exit;
    PostMessage(FHandle, WM_StatusText, Integer(PChar(str_DoText)), Length(str_DoText));
    lTxt := StringReplace(lTxt, '&', '%26', [rfReplaceAll]);
    FHTTP.Host := Pg_Host;
    lUrl := ADoc;
    if lUrl[Length(lUrl)] <> '/' then lUrl := lUrl + '/';
    lUrl := lUrl + C_AddNew;
    FHTTP.Request.Referer := lUrl;
    FHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
    FHTTP.Request.AcceptCharSet := 'windows-1251,utf-8;q=0.7,*;q=0.7';
    FHTTP.Request.AcceptEncoding := 'gzip,deflate';
    FHTTP.Request.AcceptLanguage := 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
    FHTTP.Request.Accept := 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
    lStr := C_Caption + '=' + ACaption + '&' + C_Text + '=' + lTxt;
    lData := TStringStream.Create(lStr);
    try
      FHTTP.HTTPOptions := [hoForceEncodeParams];
      lResStr := FHTTP.Post(C_PostNews, lData);
      FHTTP.HTTPOptions := [];
      if lResStr = '' then FResult := 5;
    finally
      lData.Free;
    end;
  finally
    if (FHandle > 0) and (WM_StartPost > 0) then
     begin
        if FResult < 0 then FResult := 0;
       PostMessage(FHandle, WM_EndPost, FResult, 0);
      end;
  end;
end;

end.


Проблема заключается в следующем. Во втором листинге есть строка, помеченная "<------------------- Внимание!!!". Эта строка получает проверяет наличие поределенного адреса. Работает так: адреса на сайте представляют из себя следующее - http://адрес_страницы.host.ru. В программе я добавляю окончание "/addnews", чтобы быть уверенным, что пользователь авторизован и страница существует.

При отправке первой новости все проходит отлично. В ResStr заностится содержание страницы. А вот при последующих отправках (с новыми данными) - приходит абракадабра:

Код

#$1F'‹'#8#0#0#0#0#0#0#3'Ü[ÝsÛF’^ý'#$15'cl] �D‚¤ü)‘temo6W–ãÚhëîÊçr'#$D'�!‰'#8#4'¸À@²¼·Y^|9gו³“ujoïá'#$1E#2'ÓBD“"DR›rRò�¯'#7'_'#$1C'‚ ÄPޝj]e›3ÓóëžžžAñÜõ�®mþóí'#$1B'¨N'#$1B#$1A'ºý›_Üüð'#$1A#$12'2’ô�«×$éúæuôO¿Úܸ‰òÙ'#$1C'Ú4±n©T5t¬IÒ�[Â'#2'‚?B�Òæš$íììdwV³†Y“6-Ýgxy'#6#$10'þÌP®wV¡ŠP^(úLï74Ý*¥Àä¯\¹'#$12'ô'#$16'�†õZI ºÀÈ×âR'#$19'D(Ö'#9'Vʾ,EªR�”­ºÑD'#$19't˸…7HQ'#$A'*'#3'‚'#6'¡'#$18'1V'#$19'ò[[Ý.'#9'×'#$C'�'#$12'�f6w›D@rP*'#9'”ܧ'#$12'c½Žä:6-BK;ª®'#$18';V&_¸�'#$17'�Ä'#3'ê¸AJÂ'#$16'ÙÝ1LÅâ`˜$©´'#$A'±dSm²áàÈ'#3'‰G'#$1D'4UßB&Ñ'#0'ˆîjĪ'#$13'B'#5'DAÔPBÙ'#2'n'#$D'¢¨¸$`'#$D'Æ©n’êØXêz#kÚŒPRH'#$15'Û'#$1A'•¬-¢'#$11'šõûþ´œ'#$1A'D·ß'#5#$1F'ƒÖ‰9Îè\&sG­¢'#$F'o ‹wRÞ*I0¾CtE­ÞÍdæaÛ4U�ÎÆØ'=ÃèÖ±®Ô‰¦ÌÆ-¢žÊ°n˜T¶)RefÒ'#1'Oµ�kD‚šé<ªx›õÈúD'#$11'l°6'#2#$10'Ñ'#$17'ü'#$13'¼�ƒZ±¼�M¤'#$18'`[%‘­¯'#$10'I\/J'#1'ÅÌ XQÌ’8)Ó‰PB'#2'J@–)§iö‰%Y'#$14'›4û‰uU';«Bù-¡‚Ÿ©'#$18'ØT¦'#1'Ÿ'#9'¼R‘'#$D'…¼u™Ák³úé"'#$17'¥È�'#$17'+†²‹T¥$Tj'#$19'pº”˜™U!䯨Û~Ó'#$16's-'#$C#5'*'#$12'MMUVõª‘ÞȰ…˜gT«‘*Ýð'#1'ã'#1'Œ'#7#$12#7#$14'Fí'#4'#'#6#$17'®a'#$B'6±X\äo:±G/G{'#$11'Nr(ÚZÔÙÖ'#$12'2ÀòŠÚ|8P'#9'�Ë '#$18'²'#$1A#9'áï5þÞÇØ'#$14'%M'#$1D'C:µ¯„•†'#$A'[êýƒv¯='#$18'öÛ}¯åôÚn'#$C'÷#Ñ'#$14'˜i¡üÈ{î´ÚÃר絼Áðõ¤pÜ`Ì'#2'ü'#0'[°ÿo©Bù�Πëô:íS £1¬™'#4'æþÏÎËîñÄèŒÓü»Óuûî›S¨ž'#$D'Ž»Œù‰D�÷Ÿ÷�^Ïsyº¢dkå·1ÿ¶EL+'#$1A#$1D'¼Eí'#$A#$16'ÊÁÿ©FàÛr#Ó4”ŠanáIÀÆnˆ&”'#$F'½½ç^¿ãœ'#4'ô'#0'oiXas1'#$15'Hª'#$18'ÆV'#3'›[–PÞw:]g/mÂF�L¥'#$19#$15'í¶_õŽ]´'#7'ã{ìž„ÙÀªv’ˆAû¡÷jx¢¶†'#$1F'¯Y'!Å$='#7'V�÷òd]™W©V…r«ÓÍ"'#9'%a9'#$F#$13'S'#$1E#3'i'#$12'Ò7§Ø™Y'#4'›r½j˜� <f¿`ϧu'#3#$1A'k, À2'#$13'2f'#$13'tˆ}Y¹¨êM›÷ñB'#$18'´þ6ösAí6Öl¨>ôÚƒŽ?'#$C'pº²'#$D'�ju‘ÖU+'#$1B'4—D¿]\ú'#$1D'W)Šë¿g=*šmNvHÐ'#6'ýY'#7'i\6Ë®4T'#$1A#$B'U±)e±G(Ö§Ÿú'#$1D'$¦?œ5‚Í }¹�æw(ó¬›'#$1F'ÝÎ'#$14'rhÏëx-~'#6'Në,”Ÿz-f¦Þ¸1„ýüH­$Ȇf˜k?¿öËÂjau=±ÕTìÚƒØøC¿ú'#$D'ê9ß»]ôo΋£s#\ε¼'#$D#7'“bÙ-çûö„2iÒ'#6'¦'#2'†<ZÇÁ†s'#7'ßeP'#$13'æ?F+”'#1'EÔî'#$D'Ý~ÏM[§³Š'#0'1)~ ê'#$19'Ý`V=£,é�„ò'#$1F'Žú=§‹FÛû|2qqìi’ð¤Ó¶ûYÙâŠaS8éŒð¾|î¡ÖÀ=@kKóÃn'#$19'ú–mZÜ'#$A'øÂëuŽúƒãù1«&!°íËÜØÿ¹ß†í0?&ì�'#0'©p&'#$16'TÌ�('#$1B'�†­«tw„ùÌóžÿà'#$E'†-o~ئiÔLÜ'#0'»¨eÀ�eƦìö¨'#$11'A#z_ÓÎ2$F£b›vƒ'#$1F'”°j~TC×v3'#$15'bÑŒeTé'#8'úk¯ûºã¡îÑ«ïÛ/ÑÀûëp~'#$1E';¤¢�m¢'#$19'MbŽ8@m&®ž'#$1F#$1C#$E'Ìæ.,~J8‡ôÄ{‰özn«×îÌ�\·'#$1B'0¡UÓ?h@­'#$12'U'ÜøüŠ5¢_B#º'#9'�ï}x‹Ð38¾'#$1A'ÍÔÀ{q*l|°‰>`Uó£n'#$13'™'#$1A'܈·ÜÎÐëÏ�g'#$12'¬ùC1‚ü“ët_÷œ7èÛö~ïÄ'#3'ÄÉÐͺA'#$D'æ1! Ôm̯¡¨'#5#$1D'õ½3̦E´j´Xy3|æ'#$1C' gîs'#$17'}Õ÷^ô�ƒ'#3'8_�a9ÙTƒ :iÄ ®š†šj'#$10'“›;œÐØX'#$1F'»Ùì(Ì'#$C#$11'øÈÂ�6ÃÐ��ž3'#$15'¬ë,pçØ¦…³†B'#$C'=82SlB4Z'#$12'îUØqŽ…��ÚX'#6#1'Êùø'#$10'áÃç'#$B'¹û«¹\¶¦V'#5#4'Þ[!'#$10'=æ‚0'#$F'�d'#$1B'�û9a&+G'#$19#3'\#|T'#$14'ÕCØ×Hf'#5' œJ '#4#3#$1B'Ž…™�àìA"|cUñ±Š'#$15'Ò')‰TU5’„òëb,¿4'#$1B'Xè¨Z'#$12'-¨Œá‚âŒxö'#3'UN±º'#$11#$1A'+Í'#6'ÖÄZ#)›_'#$17'ƒù¥©`'#$11#$12'Ñ'#$15'a'#$C'˜¹»$°_'#$17#3'û¥4`ßÜÇ'>>h'#$18'pÐh'#8''뤚†ždí×ŬýÒl'#3#4'ÛX'#$12'‹UÅP¬0'#$1B'’'#$C'þ•ªÛ$�'#$16'ULjQÅl¨Û*¬ë'#4'¤_'#$17'ãù¥ÙÀü-QHÙ&c0¿ôã­Á¿&H'#0#7'W'#7#$11'°_:Ý'#$1A#$12'΄w'#$18''9BÎ'#$F'*;Ø'#4'Ž‘'#$13#$C'|àÈ'#5'r”*ÍPbš*l²»Ì'#$13'ú9uKÊK'#$17's¹ûà'#$10'ïåsùì'Í'#$1A'ÚQ'#$15'Z/A-ª'#$13'µV§%hŒœd'#$E'a'#$D'\í¸/ÜÞžÓg{i'#$1B'ö!a'#6'¿É9zj'#$18'Z'#5'óº%¼aj\Æ¥IËÁ�Ô'#1'†â§?⬓61�'#2#$13'³'#$12'^¯%×+§Ø8E±’’´¬'#4'¸ãÙ”¦aqé”èh'#$1E'fK¢ƒúB’›'#$E'F¢'#$19'ò–àK'#7'%¢¨t2)'#$D#$D'M¬'#$13'�'#$1F'îÉÌLHÉXFŒãb˜'#8'yêìûyÜP™¶?'#$1A'ø¾Fô'#$1A'˜‹p)'#$17'_»„'#$13#$1A'{¹'#$A'Å5!1GQ£³!¤Îb<‰£›�µmCU'#$16'sKë,ç#kª¼5Öªê'#$16'1é¢(ÛT\)¬ –ü'#1'ÚɈ?³%hŠï¦*'#$15#9'º'#6'QA°'#$A'„B^ˆ–�Pˆ#„·+®bÈâJ~.q¡ë|âŽû¶ñ´â¸‹úÿœHÛÔÄ•ÕÄÈ„7"ŸA„é/­'#1'KŸ'#$1F'M½4JŒ'#$18'»i|ç3Ìò³*‚z'#$E'ºá'’gÔˆÑþ´'#$1A#5'/'#$16'²pôÕ'#$17'ùkN«ŽMU¯1™ì¦f`'#5'‚-“®•mÖ›WÁ£äÅ'#$15'$'#6'M,Äd¥@Æ'#$B'¹ÜJ$cáÒ'#5#$18#$18'£Y*°Jv'#8'`¿Ä©ÃôWçewÖ±a\ßùlû;ëéÓÝqúÃvovËõaÿ–W{eÒ'#$B'Fcv¼çvÙ˜'#$D'ÝÎ`'#8'Ç÷~ïø`Öq«'#$18'šòîm`V]X:³ÝòfÖF¥'#$18'˜¾s}ì©ú|åí½rû�ÞQ¤Ò¬šØ:D”àŽßý'#2'µ¦*óGg>],jª[?íâ'#$1C'‹ª‹,hÃp´'#$1A'…jcaœ_(í[X'#$18'­'#$15'¥¨O'#$C#$12'D�£hRµÆ^ùpq ß'#$12'†�á`<'#$1E#$C'½W½v'æéÓÄ!à—ÃÃ~àçZ¨ïìƒÍ�G�r�È['#$15'ã~Ìäž‚52'#$A'6óÜ'#$14'ªÕÅs'#$10'éØ'#$D'ˆ­³,p¶îˆAT,Þ½#†=Å»Y'#$1F'“(K¿;�ØÄ@h'#$11'ú>…)«Ø”@ü¥Z¸¢'#$11'…mOñï¥õß'#$13'Í"§B™¤al“4´¥à¦'#$11#$15'-¢'#$11'™FzšX@'#$11'MIˆ~ÁÌ'#7'¹³HÿœP¾ƒZÇÏÝ~{èF#x·'#$18'fØ’Ôù('#$1F'”Þ\ˆS<éí«£œM:Áy¡üUßÓÚ-v[—NrA(?q»Þ^{*ÅE¡Ì'#$16'cæ°ßîzߺ½ö›i”—„òíkè0Ìq'#$1E'O#»,”Ÿ'#$D'


Я так понимаю - это в сжатом виде приходит. Но почему и как это исправить? Ведь на первый запрос все нормально приходит!!!

P.S.: заметил еще странность. Если использую прокси (в моем случае - httpTracer), то данной ошибки нет...

Это сообщение отредактировал(а) aktuba - 30.1.2007, 05:22


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Snowy
Дата 30.1.2007, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Код

    FHTTP.Request.Referer := lUrl;
    FHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
    FHTTP.Request.AcceptCharSet := 'windows-1251';
    //FHTTP.Request.AcceptEncoding := 'gzip,deflate';
    FHTTP.Request.AcceptLanguage := 'ru-ru,ru';
    //FHTTP.Request.Accept := 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
    FHTTP.Request.Accept := 'text/html';


Добавлено @ 11:27 
Ты сам говоришь, что умеешь читать gzip.
Либо тогда декодируй его. Либо не говори smile
PM MAIL   Вверх
aktuba
Дата 30.1.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Snowy, виноват  smile , просто проглядел... Snowy - thks...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0653 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.