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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Закачка файлов из интернета при помощи, TIdTCPClient 
:(
    Опции темы
Ibragim
Дата 25.9.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

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



День добрый. 
Есть 

Код

Pict: TStream;


в которой хранится рисунок в формате JFIF, выглядит вот так (начало)

Код

......JFIF.....H.H.....ACopyright (c) 2004 by Yahoo! Incorporated. All Rights Reserved....C..............
..
................. $.' ",#..(7),01444.' и так далее


Как бы его показать на экране, то есть "засунуть" в 
Код

Image1: TImage;

?

Благодарю за внимание, жду советов.
PM MAIL   Вверх
Ibragim
Дата 26.9.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

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



Ну, если вам все ще не влом. Вот специально написал маленький проектик, который должен показывать логотип с сайта ya.ru. Ошибки, поведение то же.


Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Sockets, StdCtrls, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, ExtCtrls, jpeg;

type
  TForm1 = class(TForm)
    Button1: TButton;
    TcpClient1: TIdTCPClient;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  pict: TMemoryStream;
  j: TJPEGImage;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  TcpClient1.Host := 'www.ya.ru';
  TcpClient1.Port := 80;

  try
    TcpClient1.Connect(2000);
    TcpClient1.SendCmd(
    'GET /logo.gif HTTP/1.1' + #13#10 +
    'Accept:  */*' + #13#10 +
    'Accept-Language: ru' + #13#10 +
    'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)' + #13#10 +
    'Host: www.ya.ru' + #13#10 +
    'Connection: Keep-Alive' + #13#10
    );
  except
    Exit;
  end;

  pict := TMemoryStream.Create;
  j := TJPEGImage.Create;
  TcpClient1.ReadStream(Pict,100);
//  pict.Position := 0; åñëè ðàñêîìåíòèðîâàòü, áóäåò Îøèáêà #53
  j.LoadFromStream(pict);
  Image1.Picture.Assign(j);

end;

end.



A, еще. Там непостредственно JPEG начинается, как показывает сетевой анализатор, с позиции $13D, постановка  pict.Position := $13D или сначала считывание http-заголовка тоже ничего не дает.

Это сообщение отредактировал(а) Ibragim - 26.9.2006, 13:57
PM MAIL   Вверх
Snowy
Дата 26.9.2006, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ibragim, а тебя не смущает, что ты запрашиваешь GIF, а не джпег.
И почему читаешь 100 байт? Не проще читать сколько есть?
PM MAIL   Вверх
Ibragim
Дата 26.9.2006, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

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



1. Не смущает. Точно те же ошибки и с jpeg, это картинка для примера. Счас найду в нете Jpeg картинку, брошу и такой вариант. 
2. Сто - ошибка, но при других значениях то же. Если вообще без значения - "Out of memory while expanded memory stream". Реальный размер http-заголовка + картинки - ошибки те же.
PM MAIL   Вверх
Alexeis
Дата 26.9.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 2
Всего: 459



Ibragim, необходимо знать были или нет пересланы данные в поток...
Просто сохранить поток (TMemorySream) ввиде файла и просмотреть, откроется ли он паинтом. 

Это сообщение отредактировал(а) alexeis1 - 26.9.2006, 14:55


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ibragim
Дата 26.9.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

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



alexeis1, содержание файла:

Код

Content-Type: image/gif
ETag: "695201845"
Accept-Ranges: bytes
Last-Modified: Thu, 06 May 2004 08:26:26 GMT
Content-Length: 1159
Date: Tue, 26 Sep 2006 11:58:28 GMT
Server: httpd
Age: 66
X-Cache: HIT from ua.rproxy.yandex.net
Connection: keep-alive

GIF89aL , Х?    я  ‡‡‡яЛЛМММьъъWWWссся™™zzz333


яUU$$$™™™KKK±±±яґґ•••яJJВВВя--ееея;;яллл‹‹‹«««ЫЫЫяггяууDDDfff\\\яeeТТТiiiяww<<<oooяЧЧ+++яўўўbbb???яя$$            ttt№№№я¦¦ЮЮЮццц999OOOЖЖЖяЉЉяяя!щ  ? ,    L ,  яАџpшу (™Ђr©$:џР
@DЇXиg¤daFЬ%e”-o\ХІ:ъБ(OџбТІ.ТхьЏЎ$зzWwTЃk,JNЂ…OѓVЌY>KqJt‘DЏ™X|,OЊњ?›ЈPJ1Ў—¦¤x­DЁ«?ЈҐ°Ca,‹¬¦№є?KЉ–¶X%X®„O9™I~rАU0+U
РN$T     ЇB-
U;B)
цц)?ч
щD“џ$ ГФ!„*;МGВ"h`x° 
$!ЁЂ 1nБј3Є@ИG‘К C
ёщД@ВЂў~ЁтаАЏ’@ я! јк  !p hа+(•ќBB  СмI&XoЙ¤bгЎT ) vТ~ PaИLџBР®рҐЎв,у­Щ!&Ё<В!,‘xt„„бK?7 /Ђб;ЌЎ ?Ўд†ђѕT     `р© y йq"Lк"‚К‹\ wh (F А"рl њH•B’‡]љщ‰'ё%sЛ\xйlP№;¤Ф њдд0д…ЕџQTиЕ0ђИЫжBHѕP…јуТр@ЕQD¤cЬ?QБФ pB}ЬзЭ` аЯ=абЮR!tШяaN




Содержание файла после "обрезки" заголовка:
Код

GIF89aL , Х?    я  ‡‡‡яЛЛМММьъъWWWссся™™zzz333


яUU$$$™™™KKK±±±яґґ•••яJJВВВя--ееея;;яллл‹‹‹«««ЫЫЫяггяууDDDfff\\\яeeТТТiiiяww<<<oooяЧЧ+++яўўўbbb???яя$$            ttt№№№я¦¦ЮЮЮццц999OOOЖЖЖяЉЉяяя!щ  ? ,    L ,  яАџpшу (™Ђr©$:џР
@DЇXиg¤daFЬ%e”-o\ХІ:ъБ(OџбТІ.ТхьЏЎ$зzWwTЃk,JNЂ…OѓVЌY>KqJt‘DЏ™X|,OЊњ?›ЈPJ1Ў—¦¤x­DЁ«?ЈҐ°Ca,‹¬¦№є?KЉ–¶X%X®„O9™I~rАU0+U
РN$T     ЇB-
U;B)
цц)?ч
щD“џ$ ГФ!„*;МGВ"h`x° 
$!ЁЂ 1nБј3Є@ИG‘К C
ёщД@ВЂў~ЁтаАЏ’@ я! јк  !p hа+(•ќBB  СмI&XoЙ¤bгЎT ) vТ~ PaИLџBР®рҐЎв,у­Щ!&Ё<В!,‘xt„„бK?7 /Ђб;ЌЎ ?Ўд†ђѕT     `р© y йq"Lк"‚К‹\ wh (F А"рl њH•B’‡]љщ‰'ё%sЛ\xйlP№;¤Ф њдд0д…ЕџQTиЕ0ђИЫжBHѕP…јуТр@ЕQD¤cЬ?QБФ pB}ЬзЭ` аЯ=абЮR!tШяaN



А вот содержание файла, сделанного Photo Editor

Код

GIF87a,фч                 


   


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ЂЂЂЃЃЃ‚‚‚ѓѓѓ„„„………†††‡‡‡???‰‰‰ЉЉЉ‹‹‹ЊЊЊЌЌЌЋЋЋЏЏЏђђђ‘‘‘’’’“““”””•••–––———???™™™љљљ›››њњњќќќћћћџџџ   ЎЎЎўўўЈЈЈ¤¤¤ҐҐҐ¦¦¦§§§ЁЁЁ©©©ЄЄЄ«««¬¬¬­­­®®®ЇЇЇ°°°±±±ІІІіііґґґµµµ¶¶¶···ёёё№№№єєє»»»јјјЅЅЅѕѕѕїїїАААБББВВВГГГДДДЕЕЕЖЖЖЗЗЗИИИЙЙЙКККЛЛЛМММНННОООПППРРРСССТТТУУУФФФХХХЦЦЦЧЧЧШШШЩЩЩЪЪЪЫЫЫЬЬЬЭЭЭЮЮЮЯЯЯааабббвввгггдддееежжжзззииийййккклллмммнннооопппрррссстттуууфффхххцццчччшшшщщщъъъыыыьььэээюююяяя!щ     ,    ,ф@® я    H° Бѓ*\И°ЎГ‡#JњH±ўЕ‹3jЬИ±ЈЗЏ CЉIІ¤Й“(SЄ\ЙІҐЛ—0cКњIі¦Н›8sкЬЙі§Пџ@ѓ
JґЁСЈH“*]Кґ©У§PЈJќJµЄХ«XіjЭКµ«ЧЇ`ГЉK¶¬ЩіhУЄ]Л¶­Ы·pгКќK·®Э»xукЭЛ·ЇЯїЂ Lё°бГ?+^Мё±гЗђ#KћL№ІеЛ?3kHЮМ№ізП C‹MєґйУЁS«^НєµлЧ°cЛћM»¶нЫёsлЮН»·пЯАѓ NјёсгИ“+_Ој№узРЈKџNЅєхлШіk9ЯОЅ»чпаГ‹OѕјщуиУ«_ПѕЅычргЛџOїѕэышулЯПїїяя (аЂhаЃ&Ёа‚4 6иаѓF(б„Vhб…fЁб†vиб‡ †(в?$–hв‰(¦ЁвЉ,¶ив‹0Ж(гЊ4Ц-hгЌ8жЁгЋ<цигЏ@)дђDiд‘H&©д’L6йд“PF)е”TViе•Xf)©е–\vйе—`†)ж?d–iж™h¦©жљl¶йж›pЖ)зњtЦiзќxж©'зћ|цйзџЂ*и „jиЎ?&ЄиўЊ6киЈђF*餔VjйҐ?f#Єй¦њvкй§ †*кЁ¤–jк©Ё¦ЄкЄ¬¶кк«°Ж*무Ц"jл­ёжЄл®јцклЇА+м°Дkм±И&«мІМ6лміРF+нґФVkнµШf«н¶Ьvлн·а†+оёд–kо№и¦«оєм¶ло»рЖ+пјфЦkпЅшж«пѕьцлпї ,рАlрБ'¬рВ 7мрГG,сДWlсЕg¬сЖwмсЗ ‡,тИz ;



По-моему, весьма похоже, однако ни один из первых двух вариантов Photo Editor не открывает.
Гм, неправильно режу? 
Похоже, это вообще не в графику, а в сети писать надо было?
PM MAIL   Вверх
Alexeis
Дата 26.9.2006, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 2
Всего: 459



Модератор: Тема выделена из раздела Delphi: Звук, графика и видео


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

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

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

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

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

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


 




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


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

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