Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2012, 09:55   #11
Gudzik11
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 138
По умолчанию

Цитата:
Content-Encoding:gzip - сюрприз, данные приходят в GZIP сжатии
Спасибо! я так понимаю что gzip мне нужно как то обработать?
Вы не могли бы подсказать как это сделать в Delphi 7 и какие компоненты мне понадобятся?
Gudzik11 вне форума Ответить с цитированием
Старый 02.06.2012, 10:41   #12
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Пост по теме
GZIP
Shouldercannon вне форума Ответить с цитированием
Старый 02.06.2012, 11:21   #13
Gudzik11
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 138
По умолчанию

Вот пытался сделать по этой статье
http://vetalkov.ru/delphi/ispolzovanie-gzip-v-delphi/

получил тот же документ чти и при обычном скачивание .
Может я не то что то сделал ?
В том проекте изменил
Код:
if HTTP.HTTPMethod('GET', Url) then
на
Код:
if HTTP.HTTPMethod('GET', 'http://meteo.ua/150/harkov/10-days') then
и
Код:
buffer : RawByteString;
на
Код:
buffer : string;
Gudzik11 вне форума Ответить с цитированием
Старый 02.06.2012, 12:46   #14
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

сервер вам отправлет GZIP Stream. А вы его в строку пихаете.
Подключите ZLibExGZ и оттуда исп. GZDecompressStream
Человек_Борща вне форума Ответить с цитированием
Старый 02.06.2012, 17:55   #15
Gudzik11
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 138
По умолчанию

Вы имеете введу так ?
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
 uses
  httpsend,
  ZLibExGZ,
  synautil;
procedure TForm1.Button1Click(Sender: TObject);

 var
	  http: THTTPSend;
	  str: string;
	begin
	  http := THTTPSend.Create;
	  HTTP.Protocol := '1.1'; // указываем версию HTTP протокола
	  http.Headers.Add('Accept-Encoding: gzip'); // указываем, что хотим получить сжатые данные
	  http.HTTPMethod('GET', 'http://meteo.ua/150/harkov/10-days');
	  HeadersToList(http.Headers); // полезная функция, позволяет перевести заголовок в параметрический вид
	  if trim(http.Headers.Values['Content-Encoding']) = 'gzip' then // если ответ пришел в сжатом виде
	  begin
	    str := ReadStrFromStream(http.Document, http.Document.Size); // считываем тело документа
	    str := GZDecompressStr(str); // распаковываем его
	  end;
	  str := ' ';
    Memo1.Text:= str  ;
	end;


end.
но так в обще нечего не находит
Gudzik11 вне форума Ответить с цитированием
Старый 02.06.2012, 19:15   #16
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
но так в обще нечего не находит
Сложно спорить..
Код:
	    str := GZDecompressStr(str); // распаковываем его
	  end;
	  str := ' ';
    Memo1.Text:= str  ;
Вы обнуляете строку после декомпрессии, и пихаете её в memo. А в строке у на 0.
Человек_Борща вне форума Ответить с цитированием
Старый 02.06.2012, 20:09   #17
Gudzik11
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 138
По умолчанию

А что не так?
Gudzik11 вне форума Ответить с цитированием
Старый 02.06.2012, 20:52   #18
C_R_E_S_C_H
Пользователь
 
Аватар для C_R_E_S_C_H
 
Регистрация: 02.01.2012
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Gudzik11 Посмотреть сообщение
А что не так?
вы переменную очистили вот и не находит нужно убрать строку
Код:
str := ' ';
Код:
if Пиво=True then
ShowMessage('Пишем дальше');
Else ShowMessage('Да ну вас всех');

Последний раз редактировалось C_R_E_S_C_H; 02.06.2012 в 20:55.
C_R_E_S_C_H вне форума Ответить с цитированием
Старый 02.06.2012, 22:17   #19
Gudzik11
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 138
По умолчанию

Спасибо я и не увидел

Ну всё равно получаю тот же самый документ .
Gudzik11 вне форума Ответить с цитированием
Старый 02.06.2012, 22:39   #20
C_R_E_S_C_H
Пользователь
 
Аватар для C_R_E_S_C_H
 
Регистрация: 02.01.2012
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Gudzik11 Посмотреть сообщение
Ну всё равно получаю тот же самый документ .
Приведите его кусок
Код:
if Пиво=True then
ShowMessage('Пишем дальше');
Else ShowMessage('Да ну вас всех');
C_R_E_S_C_H вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
парсинг Pein95 Работа с сетью в Delphi 4 01.12.2011 02:06
Парсинг tigrend PHP 8 02.10.2011 00:09
парсинг Pein95 C# (си шарп) 3 16.09.2011 01:24
Парсинг DJ_LINZA Работа с сетью в Delphi 6 31.01.2011 10:15
Парсинг. igor90 Microsoft Office Excel 1 03.11.2010 02:41