Главная страница
    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.46 MB
Время: 0.007 c
3-1195575987
ari_9
2007-11-20 19:26
2008.04.13
Длинные (несколько суток) читающие транзакции в FB. Как лучше ?


2-1205525076
Malik
2008-03-14 23:04
2008.04.13
Lnk-ярлык определение его параметров


15-1203709432
tesseract
2008-02-22 22:43
2008.04.13
MS сдаёться ?


2-1205914781
Kavis
2008-03-19 11:19
2008.04.13
Delphi 10 Lite значение переменной по наведению мыши


2-1205935817
AntonUSAnoV
2008-03-19 17:10
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский