Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
[Delphi] Winsock 1.1; скачать файл |

25.05.2010, 17:56
|
|
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме: 500264
Репутация:
69
|
|
[Delphi] Winsock 1.1; скачать файл
пытаюсь скачать файл, а получается какаято битая хрень! я уже 2 часа негодую от злобы. Что может быть не так?
Код:
// ---- Шлем запрос ----
procedure SendRequest(url, packet: string);
var
info : TWSAData;
Data : AnsiString;
i,d,
len :integer;
data_flag : boolean;
h, DataPos: dword;
Socket1 : TSocket;
SockAddr1 : TSockAddrIn;
tmp_buf : array[0..1024] of char;
begin
WSAStartup(makeword(1,0),info);
Socket1 := Socket(AF_INET,SOCK_STREAM,0);
SockAddr1.sin_family := AF_INET;
SockAddr1.sin_port := htons(80);
SockAddr1.sin_addr.s_addr := inet_addr(Pansichar(GetIPAddress(gethost(url))));
connect(Socket1, SockAddr1, sizeof(SockAddr1));
len := 0;
send(Socket1, packet[1], Length(packet), 0);
repeat
FillChar(tmp_buf,SizeOf(tmp_buf),0);
d := recv(Socket1, tmp_buf, 1024, 0);
len := len + d;
for i := 1 to d do Data := Data + tmp_buf[i];
until d <= 0;
DataPos := pos(#13#10#13#10, ansistring(Data)) +4;
if DataPos > 0 then
begin
FillChar(tmp_buf, SizeOf(tmp_buf), 0);
h := CreateFile(pchar('d:\avatar111490.gif'), GENERIC_WRITE, 0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
WriteFile(h, Data[DataPos], len - DataPos, DataPos, 0);
CloseHandle(h);
end;
Closesocket(Socket1);
WSACleanup;
end;
function Get(const AURL: string; AResponseContent: TStream): string;
var
Head : string;
Host : string;
urlObj : string;
begin
{ Парсим url }
urlObj := AURL;
urlObj := Copy(urlObj, Length(GetHost(urlObj)) +8, Length(urlObj));
Host := GetHost(AURL);
Head := 'GET ' + urlObj + ' HTTP/1.0' + #13#10 +
'User-Agent: Mozilla/4.8 [en](Windows NT 5.0; U)' + #13#10 +
'Connection: close' + #13#10 +
'Host: ' + Host + #13#10#13#10;
SendRequest(AURL, head);
end;
|
|
|
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Всё для спамера
|
KPOT_f!nd |
E-Mail |
356 |
07.06.2010 23:40 |
|
Ссылки на трояны
|
TROJ@N |
Защита ОС: вирусы, антивирусы, файрволы. |
332 |
05.06.2008 16:06 |
|
чтиво для новичков
|
genom-- |
*nix |
5 |
20.10.2006 19:17 |
|
СОФТ ОБЗОР
|
TROJ@N |
Soft - Windows |
7 |
16.04.2006 12:28 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|