Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.04.13;
Скачать: [xml.tar.bz2];

Вниз

проблема со скачиванием страниц   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
8-1178543822
Veter
2007-05-07 17:17
2008.04.13
Геометрические фигуры


2-1205752151
Dima
2008-03-17 14:09
2008.04.13
Чем заменить listbox


11-1187786759
mdw
2007-08-22 16:45
2008.04.13
Сайт http://www.kolnmck.ru/


2-1206014820
Andrewtitoff
2008-03-20 15:07
2008.04.13
Как сделать скриншот экрана


2-1206027422
AntonUSAnoV
2008-03-20 18:37
2008.04.13
Не могу установить фильтр на таблицу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский