WININET Proxy

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

WININET Proxy

Beitrag von X0r »

Hi Community,
ich arbeite gerade an einer auf WinInet basierenden Download-Lib und soll jetzt Proxy-Unterstützung einbauen. Ich verwende dabei den #INTERNET_OPEN_TYPE_PROXY Parameter und arbeite direkt mit der Funktion InternetOpenURL.
Ohne Proxy-Authentifizierung läuft alles super (siehe InternetOpen), nur weiß ich einfach nicht, wie man Benutzername und Passwort bei Proxys mit Authentifizierung setzen soll.
Angeblich soll es mit der Funktion InternetSetOption und den Parametern #INTERNET_OPTION_PROXY_USERNAME und #INTERNET_OPTION_PROXY_PASSWORD gehen, das meint jedenfalls MSDN. Auch habe ich schon Codes gesehen, in denen InternetSetOption zusammen mit diesen Parametern für InternetOpenURL verwendet wurde. Allerdings steht bei MSDN eindeutig:
Sets or retrieves a string value that contains the user name used to access the proxy. This is used by InternetQueryOption and InternetSetOption. This option can be set on the handle returned by InternetConnect or HttpOpenRequest.
http://msdn.microsoft.com/en-us/library ... 85%29.aspx

Über InternetConnect usw. funktioniert das ganze auch für HTTP.
Allerdings muss der Download auch über FTP laufen, und da schmiert einfach alles ab.

Ich hoffe dass mir hier jemand helfen kann. Die Sache ist wirklich wichtig.
Falls ihr Vorschläge für andere Netzwerk-Libs habt: ich bin für alles offen! Allerdings sollte es keine DLL-Abhängigkeiten geben.

Vielen Dank!!
Zuletzt geändert von X0r am 09.05.2011 23:30, insgesamt 2-mal geändert.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: WININET Proxy

Beitrag von RSBasic »

Hi X0r,


ich kenn mich zwar mit WININET nicht so aus und ich weiß auch nicht, welche Codes du bereits getestet hast, aber auf die Schnelle habe ich einen umfangreichen Code von mback2k gefunden: http://www.purebasic.fr/english/viewtop ... 0f#p271816

Und in seinem Code gibt es einige Beispiele wie z.B.:

Code: Alles auswählen

; Same as above but using a proxy requiring authentication
;
; tHTTP\lThreadID = 0
; tHTTP\sURL = "http://www.somedomain.com/foo/bar.zip"
; tHTTP\lAccess = #INTERNET_OPEN_TYPE_PROXY
; tHTTP\sProxyAndPort = "192.168.1.1:8080"
; tHTTP\sProxyUsername = "username"
; tHTTP\sProxyPassword = "password"
; tHTTP\lDestination = #PBL_WRITE_TO_FILE
; tHTTP\sFullFileName = "c:\download\bar.zip"
; tHTTP\lChunkSize = 16384
; tHTTP\fpCallBack = @MyCallBack()
; HTTPGetFromWeb (@tHTTP)
Hast du diesen Code bereits getestet und kannst was damit anfangen?
Ansonsten kann ich dir leider nicht weiterhelfen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Re: WININET Proxy

Beitrag von X0r »

Ja,
getestet schon. Nur basiert das ganze auf HTTP. Ich bräuchte noch eine Lösung für FTP und hab schon wirklich viel rumgetestet. Es will einfach nicht funktionieren.

Was wäre die nächstbeste Alternative zu WinInet? Ich hoffe dass ihr mir helfen könnt, dies ist für mich sehr wichtig.
MenschMarkus
Beiträge: 229
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: WININET Proxy

Beitrag von MenschMarkus »

Hi,

kenn mich zwar mit FTP nicht so aus aber warum benutzt Du nicht INTERNET_OPEN_TYPE_PRECONFIG. So greifst Du auf die IE Einstellungen zurück die in der Registry stehen. Geht der IE, sollten dort auch Daten stehen und der Zugriff via Proxy sollte eigentlich auch funktionieren.

By the way, hätte aber interesse an Deinen SC snipped für HTTP Download von Dateien via WININET API.
Wissen schadet nur dem, der es nicht hat !
Antworten