Cum se utilizează WinInet pentru a trece printr-un server proxy.
Cursorul folosește WinInet;
CTRL + ENTER
CTRL + F + "Proxy" + F3
nu originale și nu inteligente
codul meu funcționează la dialup
și nu funcționează pe proxy
ceva ce nu înțeleg
prin urmare, codul pe care îl întreb
Deci, aveți nevoie de un proxy sau de cho?
Deși nu este inteligent și deloc original, dar încă deschide WinIntet.pas și găsiți acolo
funcția InternetOpen (lpszAgent: PChar; dwAccessType: DWORD;
lpszProxy, lpszProxyBypass: PChar; dwFlags: DWORD): HINTERNET; stdcall;
aici serverul proxy însuși (în special IP)
acesta este parametrul lpszProxy, dar unde este portul, parola și numele utilizatorului definite pentru lpszProxy?
Mergeți până la 7 (șapte) linii de mai sus în fișierul WinIntet.pas
Bine, atunci numărul de linie spune ce
Portul este scris în lpszProxyBypass.
Și nu puteți specifica nimic. Toți parametrii vor fi luați din setările IE
Și cum să treci prin IdHTTP?
ConnectionSettings - structura mea care stochează parametrii de conectare
dacă ConnectionSettings.UseProxy atunci
începe
ProxyParams.ProxyServer: = ConnectionSettings.ProxyServer;
ProxyParams.ProxyPort: = ConnectionSettings.ProxyPort;
dacă ConnectionSettings.UseProxyLogin atunci
începe
ProxyParams.BasicAuthentication: = Adevărat;
ProxyParams.ProxyUsername: = ConnectionSettings.ProxyUserName;
ProxyParams.ProxyPassword: = ConnectionSettings.ProxyPassword;
se încheie;
se încheie;
În orice caz, primul parametru poate fi făcut pentru a lua toate setările din IE
Ei bine, nu pleacă! clătită
hSession: = InternetOpen (PChar (sAppName), INTERNET_OPEN_TYPE_PRECONFIG, zero, 0);
hURL: = InternetOpenURL (hSession, PChar (fileURL), nul, 0,0,0);
și apoi într-un ciclu
InternetReadFile (hURL, @Buffer, SizeOf (Buffer), BufferLen);
BlockWrite (orice fișier deschis, Buffer, BufferLen);
(Copiat corect) WinInet.
Memorie: 0,75 MB
Timpul: 0.037 c