Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.25;
Скачать: CL | DM;

Вниз

Получить HTML код через proxy   Найти похожие ветки 

 
ArhArhangel ©   (2006-09-18 13:23) [0]

Здравствуйте!
Нижеприведенная функция берет html код странички с Интернета через proxy.
Если эту функцию использую просто как программу и запускаю от своего пользователя, то все работает, но когда делаю её как системную службу, коннекта не происходит.
Присылает страницу со следующим текстом:
ERROR
Cache Access Denied
________________________________________
While trying to retrieve the URL:http://www.rambler.ru/
The following error was encountered:
 Cache Access Denied.
Sorry, you are not currently allowed to request:
   http://www.rambler.ru/
________________________________________


function GetThePage(Adres,getStr:String): String;
var   hOpenHandle,hSession, hConnectHandle, hResourceHandle: HInternet;
     strUsername, strPassword: Array[0..81] of char;
     pcData: Array [0..1023] of char;
     dwStatusSize, dwBytesRead: DWORD;
     cchUserLength, cchPasswordLength: DWORD;
     dwStatus: DWORD;
     vas: cardinal;
     bRead: boolean;

     i:integer;
     Buffer: Array[1..1024] of Char;
     BufferLen: LongWord;

Label   resend;

begin

 dwStatusSize:= SizeOf(dwStatus);

 lstrcpy(@strUsername,PChar(ProxyUsername));
 lstrcpy(@strPassword,PChar(ProxyPassword));
 cchUserLength:= Length(strUsername);
 cchPasswordLength:= Length(strPassword);

 //Соединимся с интернет
 hOpenHandle:= InternetOpen("Example", INTERNET_OPEN_TYPE_PROXY, "172.31.51.7:80", "", 0); //PChar(ProxyIP), PChar(ProxyPort)
 //Откроем новую сессию
 hConnectHandle:= InternetConnect(hOpenHandle, PChar(Adres), INTERNET_DEFAULT_HTTP_PORT, NIL, NIL, INTERNET_SERVICE_HTTP,0,0);
 //Создадим указатель и укажем необходимые параметры для использования протокола HTTP
 hResourceHandle:= HttpOpenRequest(hConnectHandle, "GET", PChar(getStr), NIL, NIL, NIL, INTERNET_FLAG_KEEP_CONNECTION, 0);

 InternetSetOption(hResourceHandle, INTERNET_OPTION_PROXY_USERNAME, @strUsername, cchUserLength+1);
 InternetSetOption(hResourceHandle, INTERNET_OPTION_PROXY_PASSWORD, @strPassword, cchPasswordLength+1);

 //InternetSetOption(hResourceHandle, INTERNET_OPTION_PROXY_USERNAME, @ProxyUsername, length(ProxyUsername)+1);
 //InternetSetOption(hResourceHandle, INTERNET_OPTION_PROXY_PASSWORD, @ProxyPassword, length(ProxyPassword)+1);

 resend:

 HttpSendRequest(hResourceHandle, NIL, 0, NIL, 0);
 vas:=0;
 //получим информацию о файле
 HttpQueryInfo(hResourceHandle, HTTP_QUERY_FLAG_NUMBER or HTTP_QUERY_STATUS_CODE, @dwStatus, dwStatusSize, vas);

 i:=0;

Result:="";
 while (1=1) do
   begin
     bRead:=internetReadFile(hResourceHandle,@pcData,1024,dwBytesRead);  //считываем файл
     Result:=Result+pcData;
     if ( not bRead) then break;
     if (dwBytesRead = 0) then
     break;
   end;
// InternetCloseHandle(hOpenHandle);
end;


 
Rouse_ ©   (2006-09-18 16:13) [1]

Ну так что ты хочешь? Это прокси тебя не пускает, проверяй правильность прихода в функцию ProxyUsername и ProxyPassword


 
Ketmar ©   (2006-09-18 16:31) [2]

есть подозрение, что там NTLM-аутентификация. натурально, сервир работает не под юзерским аккаунтом. %-)


 
Rouse_ ©   (2006-09-18 16:46) [3]

Хм, кстати действительно, похоже тут Ketmar прав...
Попробуй сервис запускать не от имени Local System (по умолчанию) а по имени твоего пользователя - паролю...


 
ArhArhangel ©   (2006-09-19 04:44) [4]

Спасибо!

А можно как-нибудь программно проходить NTLM-аутентификацию?


 
Ketmar ©   (2006-09-19 05:00) [5]

> [4] ArhArhangel ©   (19.09.06 04:44)
а сейчас она что, магически работает? %-) всё можно. только нужно или работать под требуемым аккаунтом, или знать логин/пароль.



Страницы: 1 вся ветка

Текущий архив: 2007.02.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
11-1149072986
GMax
2006-05-31 14:56
2007.02.25
ScrollBox глючит


15-1170278881
Ученик чародея
2007-02-01 00:28
2007.02.25
Pascal компилятор в Java-байт код.


3-1164978857
Lexa11_2002
2006-12-01 16:14
2007.02.25
Как создать Autoincreament ое поле при помощи SQL запроса


2-1170943151
Vremenniy
2007-02-08 16:59
2007.02.25
Проблемы со стеком


15-1170317381
Cosinus
2007-02-01 11:09
2007.02.25
Может кто сталкивался с RRAS на XP?