Proxy Socket Connect ?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Proxy Socket Connect ?

Beitrag von HeX0R »

Moin,

weiss jemand wo's infos zum Socket 4 bzw. 5 Protokoll gibt ?
Habe hier ne Client-Netzwerk-Applikation und würde den Usern gerne die Möglichkeit geben per Proxy zu connecten (Bei irrsinnigen Firmennetzwerken sehr beliebt).
Habe aber bisher leider noch nix brauchbares gefunden.

Oder hat evtl. jemand dergleichen schon mit PB realisiert ?
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Habe hier ähnliches Problem. Muss per FTP regelmäßig Daten holen, der zwischengeschaltete Proxy ärgert mich. Der Proxy will eine Authentification und der FTP Server auch. Habe noch keinen Weg gefunden das mit PB auf den Schirm zu kriegen. Vielleicht hilft dir der Schnippsel weiter :

Code: Alles auswählen


#INTERNET_SERVICE_FTP=1

#INTERNET_OPEN_TYPE_DIRECT=1

#FTP_PORT=21

#FTP_TRANSFER_ASCII=1

#FTP_TRANSFER_BINARY=2


Proxy.s=""
ProxyBypass.s=""
ServerName.s="www.test.de"
UserName.s="www.test.de"
Password.s="passwor"
localfile.s="c:\boot.ini"
remotefile.s="boot_ini.htm"

hInternet=InternetOpen_("FTP",#INTERNET_OPEN_TYPE_DIRECT,Proxy,ProxyBypass,0)

hConnect=InternetConnect_(hInternet,ServerName,#FTP_PORT,UserName,Password,#INTERNET_SERVICE_FTP,0,0)


If FtpPutFile_(hConnect,localfile,remotefile,#FTP_TRANSFER_ASCII,0)
  
  MessageRequester("","File has been sent",0)
  
EndIf

InternetCloseHandle_(hInternet)
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

Mal im Archiv suchen, da war iirc eine Lösung.
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Beitrag von HeX0R »

hmm...
ich weiss zwar nu ned ob du das Code-Archiv, oda das alte Board-Archiv mit "Archiv" meinst, aba is eigentlich egal, ich konnte auf beiden Seiten nix brauchbares finden.

Is aba wurscht, ich hab dafür genügend Threads gesehn von anderen armen Seelen, die's genauso irgendwann gesteckt ham.

Das werd ich dann auch erstmal machen.
VoSs2o0o
Beiträge: 25
Registriert: 29.08.2004 16:58
Kontaktdaten:

Beitrag von VoSs2o0o »

Code: Alles auswählen

...bla bla

InitNetwork()
ConnectionID = OpenNetworkConnection(Proxy$, ProxyPort)
If ConnectionID
  SendNetworkString(ConnectionID, "GET http://"+Server$+":"+Str(Serverport)+" HTTP/1.0"+eol$)

...und so weiter
...sowas kann man für HTTP - Proxies verwenden
einfach verbinden und "HTTP" mit dem Proxy reden

bei FTP und Socks natürlich analog dazu: Dazu müsst Ihr euch aber Oberflächlich mit dem entsprechenden Protokoll auskennen...
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Beitrag von HeX0R »

Nun ja... danke für die Antwort, wenn du auch genau das beantwortet hast, was mich ned interessiert und ich auch nicht gefragt hab...

Ausserdem steht auch ziemlich deutlich oben, dass ich eben Infos zu den Socks (ja o.k. keine Ahnung wer das Socket dort reineditiert hat *g*) Protokollen suche.
VoSs2o0o
Beiträge: 25
Registriert: 29.08.2004 16:58
Kontaktdaten:

Beitrag von VoSs2o0o »

Hier gibt es das Paper zum Socks5 Standard

RFC1928

...ist eigentlich nicht kompliziert umzusetzen.


PS: Vielleicht postest du dann mal ein Bsp. unter Tipp und Tricks?
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Beitrag von HeX0R »

Aahh , genau was ich gesucht hab.
Die Seite geht zwar grad ned, aba die rfc-nummer langt mir erst mal.
Vielen Dank.

Wenn ichs denn mal geschafft hab , werd ichs gerne anderen armen Schweinen zur Verfügung stellen...
Hat aba i.m. noch nicht allzuhohe Priorität (da kämpf ich noch mit ganz anderen Sachen, aba gut Ding braucht numal Weile)
Benutzeravatar
computerkranker
Beiträge: 66
Registriert: 12.10.2004 21:21

Beitrag von computerkranker »

auf ftp über proxy mit Authentification

mal eine andere lösung /:->

geht auf jeden fall bei mir bestens :allright:

Code: Alles auswählen

#INTERNET_SERVICE_FTP=1 
#INTERNET_OPEN_TYPE_DIRECT=1 
#FTP_PORT=2121 ;Port des FTP-Gateways
#FTP_TRANSFER_ASCII=1 
#FTP_TRANSFER_BINARY=2 

Proxy.s=""
ProxyBypass.s=""
ServerName.s="192.168.2.1" ;IP des Proxy's
UserName.s="ftpusername@ftp.site"
Password.s="ftpuserpassword"
localfile.s="c:\test.txt"
remotefile.s="test.txt"

OpenWindow(0,0,0,250,150,#PB_Window_ScreenCentered,"FTP PUT (Proxy)")
CreateGadgetList(UseWindow(0))
WebGadget(0,0,0,0,0,"http://heise.de") ; die test url damit die passwort abfrage kommt
hInternet=InternetOpen_("FTP",#INTERNET_OPEN_TYPE_DIRECT,Proxy,ProxyBypass,0) 
Repeat
  While WindowEvent():Wend
  hConnect=InternetConnect_(hInternet,ServerName,#FTP_PORT,UserName,Password,#INTERNET_SERVICE_FTP,$08000000,0) 
  If hConnect
    Quit=#True  
  EndIf
Until Quit
If FtpPutFile_(hConnect,localfile,remotefile,#FTP_TRANSFER_ASCII,0) 
  MessageRequester("","File has been sent",0) 
EndIf 
InternetCloseHandle_(hInternet)
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1754
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

@computerkranker:
Der Code funktioniert wenn schon aber nur, wenn auch eine Verbindung zustandekommt. Ansonsten produziert der Code

Code: Alles auswählen

Repeat 
  While WindowEvent():Wend 
  hConnect=InternetConnect_(hInternet,ServerName,#FTP_PORT,UserName,Password,#INTERNET_SERVICE_FTP,$08000000,0) 
  If hConnect 
    Quit=#True  
  EndIf 
Until Quit 
eine Endlosschleife. Dies sollte auf jeden Fall mit berücksichtigt werden. 8)
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Antworten