kod winineta, ima li nacin da se nekako
izbegne onaj proxy dialog
tacnije
nacin da se nekako dodje do user-a i pass-a na
proxy serveru pa da se uporedi sa onima u aplikaciji
postoje neke wininet konstante i funkcije tipa
INTERNET_OPTION_PROXY_USERNAME
ali ovo nikako da mi proradi
uvek mi prodje iako ukucam neke bezveze usere
kao da uzima iz IE onog postavljenog usera i lozinku
jer internetconnect mi uvek napuni promenjivu
tj nikad ne vrati nil
napomena:
ovo je u test fazi, nedovrseno i ima viska promenjivih
function TsvcTaric.RKMCheckProxyUserPass(const _pServer, _pUser, _pPass: String;
const _pPort: Integer): Boolean;
var
_hOpen, _hConnect: HInternet;
_proxyInfo, _userInfo: PInternetProxyInfo;
_proxyLen, _userLen: LongWord;
_proxyServer, _proxyServerByPass, _proxyAddressPort: String;
_pom: String;
begin
_proxyAddressPort := _pServer;
if _pPort<>0 then
_proxyAddressPort := _proxyAddressPort+':'+IntToStr(_pPort);
_proxyLen := 4096;
GetMem(_proxyInfo, _proxyLen);
if InternetQueryOption(nil, INTERNET_OPTION_PROXY, _proxyInfo, _proxyLen) then
if _proxyInfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY then begin
_proxyServer := _proxyInfo.lpszProxy;
_proxyServerByPass := _proxyInfo.lpszProxyBypass;
_hOpen := InternetOpen(PChar('webService'),
INTERNET_OPEN_TYPE_PROXY,
PChar(_proxyAddressPort),
nil, 0);
_hConnect := InternetConnect(_hOpen, // InternetOpen() handle
PChar(_pServer), // bunk
_pPort,
PChar(_pUser), // username
PChar(_pPass), // password
INTERNET_SERVICE_HTTP, // HTTP
INTERNET_FLAG_KEEP_CONNECTION,
0);// application specific context
_userLen := 4096;
GetMem(_userInfo, _userLen);
if InternetQueryOption(_hConnect, INTERNET_OPTION_PROXY_USERNAME, _userInfo, _userLen) then begin
_pom := _userInfo^.lpszProxy;
_pom := _userInfo^.lpszProxyBypass;
end else
RaiseLastWin32Error;
end;
.
...
.....
.......
Dopuna: 22 Apr 2007 21:56
RemObjects je cudo
imas wininetchannel komponentu
ako ne koristis IE
onda imas httpchannel
i stvar radi bez problema
|