Текущий архив: 2008.04.13;
Скачать: CL | DM;
Вниз
проблема со скачиванием страниц Найти похожие ветки
← →
tim (2008-03-20 22:23) [0]давно использую этот код для скачки кода страниц.
но вот столкнулся с проблемой что этот способ не скачивает .asp.
если кто знает как решить проблему или знает альтернативные способы прошу откликнуться:)const
HTTP_PORT = 80;
CLRF = #13#10;
Header = "Content-Type: application/x-www-form-urlencoded" + CLRF;
function DelHttp(URL: string): string;
begin
if Pos("http://", URL) > 0 then Delete(Url, 1, 7);
Result := Copy(Url, 1, Pos("/", Url) - 1);
if Result = "" then Result := URL;
end;
function GetUrl(const URL: string): string;
var
FSession, FConnect, FRequest: HINTERNET;
FHost, FScript: string;
Ansi: PAnsiChar;
Buff: array[0..1023] of Char;
BytesRead: Cardinal;
begin
Result := "";
// Íåáîëüøîé ïàðñèíã
// âûòàñêèâàåì èìÿ õîñòà è ïàðàìåòðû îáðàùåíèÿ ê ñêðèïòó
FHost := DelHttp(Url);
FScript := Url;
Delete(FScript, 1, Pos(FHost, FScript) + Length(FHost));
// Èíèöèàëèçèðóå&# 236; WinInet
FSession := InternetOpen("DMFR", INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if not Assigned(FSession) then Exit;
try
// Ïîïûòêà ñîåäèíåíèÿ ñ ñåðâåðîì
FConnect := InternetConnect(FSession, PChar(FHost), HTTP_PORT, nil,
"HTTP/1.0", INTERNET_SERVICE_HTTP, 0, 0);
if not Assigned(FConnect) then Exit;
try
// Ïîäãîòàâëèâàå&# 236; çàïðîñ ñòðàíèöû
Ansi := "text/*";
FRequest := HttpOpenRequest(FConnect, "GET", PChar(FScript), "HTTP/1.0",
"", @Ansi, INTERNET_FLAG_RELOAD, 0);
if not Assigned(FConnect) then Exit;
try
// Äîáàâëÿåì çàãîëîâêè
if not (HttpAddRequestHeaders(FRequest, Header, Length(Header),
HTTP_ADDREQ_FLAG_REPLACE or
HTTP_ADDREQ_FLAG_ADD)) then Exit;
// Îòïðàâëÿåì çàïðîñ
if not (HttpSendRequest(FRequest, nil, 0, nil, 0)) then Exit;
// Ïîëó÷àåì îòâåò
FillChar(Buff, SizeOf(Buff), 0);
repeat
Result := Result + Buff;
FillChar(Buff, SizeOf(Buff), 0);
InternetReadFile(FRequest, @Buff, SizeOf(Buff), BytesRead);
until BytesRead = 0;
finally
InternetCloseHandle(FRequest);
end;
finally
InternetCloseHandle(FConnect);
end;
finally
InternetCloseHandle(FSession);
end;
end;
код (C) Александр (Rouse_) Багель
← →
palva © (2008-03-20 22:49) [1]Разве сервер может позволить, чтобы клиент скачал код asp?
Это если я правильно понял вопрос.
← →
tim (2008-03-20 23:04) [2]хм...интересный вопрос, но факт в том что я не могу это сделать, может тогда альтернативу кто подскажет?эх..больно нравится мне эта функция, никогда не подводила,кроме вот...:(
← →
palva © (2008-03-20 23:46) [3]
> может тогда альтернативу кто подскажет?
Попросить администратора сервера дать доступ по FTP к соответствующей папке. Если не даст - ломать сервер.
← →
tim (2008-03-21 00:30) [4]эти варианты меня не устраивают!
← →
ЦУП © (2008-03-21 11:34) [5]Ты же код PHP не получаешь? С чего ты взял, что ASP увидишь?
Страницы: 1 вся ветка
Текущий архив: 2008.04.13;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c