Moin moin,
ich habe ein kleines Problem, ich möchte über einen Proxy mit Authentifizierung eine Datei über HTTP auslesen. Das Problem ist nur das ich mit nicht authentifizieren kann.
Hier ist mal der Code:
Option Explicit
Private Declare Function InternetOpen Lib "wininet" Alias _
"InternetOpenA" (ByVal sAgent As String, ByVal _
lAccessType As Long, ByVal sProxyName As String, ByVal _
sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" _
(ByVal hInet As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet" _
(ByVal hFile As Long, ByVal sBuffer As String, ByVal _
lNumBytesToRead As Long, lNumberOfBytesRead As Long) _
As Integer
Private Declare Function InternetOpenUrl Lib "wininet" Alias _
"InternetOpenUrlA" (ByVal hInternetSession As Long, _
ByVal lpszUrl As String, ByVal lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, _
ByVal dwContext As Long) As Long
Private Declare Function InternetSetOption Lib "wininet.dll" Alias _
"InternetSetOptionA" (ByVal hInternet As Long, _
ByVal lOption As Long, ByVal sBuffer As String, _
ByVal lBufferLength As Long) As Integer
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000
Const INTERNET_OPTION_PROXY_USERNAME = 43
Const INTERNET_OPTION_PROXY_PASSWORD = 44
Const INTERNET_OPTION_USERNAME = 28
Const INTERNET_OPTION_PASSWORD = 29
Const UserAgent = "Wininet Test"
Sub sDateienLaden(ByVal intProxy As Integer, Optional ByVal strProxy As String, _
Optional ByVal strProxyUser As String, Optional ByVal strProxyPass As String)
Call fReadDateiProxyUserPass("Adresse", App.Path & "\test.txt", _
"Version", strProxy, strProxyUser, strProxyPass)
End Sub
Function fReadDateiProxyUserPass(vQuelle As String, vZiel As String, Typ As _
String, ByVal strProxy As String, ByVal strUser As String, ByVal strPassword _
As String)
Dim hOpen&
Dim Bytes As Long
Dim lngProxy As Long
hOpen = InternetOpen(UserAgent, INTERNET_OPEN_TYPE_PROXY, strProxy, _
vbNullString, 0)
lngProxy = InternetSetOption(hOpen, _
INTERNET_OPTION_PROXY_USERNAME, strUser, Len(strUser) + 1)
lngProxy = InternetSetOption(hOpen, _
INTERNET_OPTION_PROXY_PASSWORD, strPassword, Len(strPassword) _
+ 1)
Debug.Print "LngProxy: " & lngProxy
hFile = InternetOpenUrl(hOpen, vQuelle, vbNullString, ByVal 0&, _
INTERNET_FLAG_RELOAD, ByVal 0&)
End Function Das komische ist auch, dass ich meinen Benutzer und Passwort übergebe 0 zurückbekomme.
Wäre super wenn mir jemand helfen könnte.
MFG.
Modlol |