getInternetIP() — Nur 14 Zeilen; crossplattform
- alter Mann
- Beiträge: 201
- Registriert: 29.08.2008 09:13
- Wohnort: hinterm Mond
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
STARGÅTE Code goes Unicode-compatible
Code: Alles auswählen
InitNetwork()
Procedure.s InternetIP()
Protected Event, Zeit, Buffer$ = Space(1024)
Protected URL$ = "http://guttgame.q-soft.ch/ip.php"
Protected ConnectionID = OpenNetworkConnection(GetURLPart(URL$, #PB_URL_Site), 80)
If ConnectionID
SendNetworkString(ConnectionID, "GET "+URL$+" HTTP/1.0"+#LFCR$+#LFCR$)
Zeit = ElapsedMilliseconds()
Repeat
Delay(1)
Event = NetworkClientEvent(ConnectionID)
Until Event Or ElapsedMilliseconds()-Zeit > 3000
If Event = #PB_NetworkEvent_Data
Size = ReceiveNetworkData(ConnectionID, @Buffer$, 1024)
Buffer$ = PeekS(@Buffer$, -1, #PB_Ascii)
ProcedureReturn Mid(Buffer$,FindString(Left(Buffer$, Size), #LFCR$, 1)+3)
EndIf
EndIf
EndProcedure
Debug InternetIP()
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Du solltest dich allerdings schon umgewöhnen und zwar schnell.
Und zwar nicht nur an PB 4.xx, sondern wie wir alle auch an 64-Bit (falls du das brauchst).
Und das ist wirklich nicht böse gemeint, aber so eine Prozedur wie deine macht eine sehr schlechte Figur, besonders für Anfänger (nicht vergessen, wir sind hier im Ich-kanns-und-du-nicht-Subforum!!).
Deine Prozedur ist also wirklich nur für den Heimbedarf.
Und zwar nicht nur an PB 4.xx, sondern wie wir alle auch an 64-Bit (falls du das brauchst).
Und das ist wirklich nicht böse gemeint, aber so eine Prozedur wie deine macht eine sehr schlechte Figur, besonders für Anfänger (nicht vergessen, wir sind hier im Ich-kanns-und-du-nicht-Subforum!!).
Deine Prozedur ist also wirklich nur für den Heimbedarf.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Nun, das geht schon; gibt ja auch 0 zurück, weil die Seite keine IP enthält. Habe mir den Quelltext mal manuell im Editor angesehen. Nichts. Keine IP da.alter Mann hat geschrieben:@AND51:
geht bei mir nur bei bestimmen WEB-Seiten
z.B. nicht bei www.hainsbergersv.de
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
jo And51 ist mir ja klar 
nur trotzdem würde ich dir auch empfehlen das ganze ohne Temp-Datei zu lösen...

nur trotzdem würde ich dir auch empfehlen das ganze ohne Temp-Datei zu lösen...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Ja, das würde ich auch gern tun, aber noch gibt es keinen PB-Befehl, der mir eine Webseite nur in den Speicher holt.
Unverständlich, denn Fred hätte spielend einfach eine Kopie dieses befehls entsprechend in PB einbauen können.
Sobald es einen derartigen Befehl gibt, kann man diese Prozedur sofort umstellen.
Unverständlich, denn Fred hätte spielend einfach eine Kopie dieses befehls entsprechend in PB einbauen können.
Sobald es einen derartigen Befehl gibt, kann man diese Prozedur sofort umstellen.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- HeX0R
- Beiträge: 3040
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Code: Alles auswählen
InitNetwork()
Debug RemoveString(StringField(GetHTTPHeader("http://h3x0r.ath.cx/Sonstiges/ShowMyIp2.php"), 5, #CR$), #LF$ + "Location: ")

{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
Die Möglichkeit die IP durch dirty-Tricks in den Header zu schleusen hat außer dir keiner.
Nur Leute mit einem eigenen PHP/Perl-fähigem Webspace.
Somit nur für wenige interessant. Das ganze auf einem Homeserver...
Aber gute Idee mein Freund! Sehr einfallsreich, die Daten im Header zu verstecken, damit mit den bisherigen mickrigen PB-Befehlen das ganze ohne Zwischenspeichern funktioniert. Aber wenn du schon deine eigene Seite hast, dann kannst du doch sicher auch einen eigenen HTTP-Header setzen, oder?
Zum Beispiel
Nur Leute mit einem eigenen PHP/Perl-fähigem Webspace.
Somit nur für wenige interessant. Das ganze auf einem Homeserver...
Aber gute Idee mein Freund! Sehr einfallsreich, die Daten im Header zu verstecken, damit mit den bisherigen mickrigen PB-Befehlen das ganze ohne Zwischenspeichern funktioniert. Aber wenn du schon deine eigene Seite hast, dann kannst du doch sicher auch einen eigenen HTTP-Header setzen, oder?
Zum Beispiel
Code: Alles auswählen
HTTP/1.0 204 No Content
ClientIP: "192.168.2.1"
Connection: Close
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Warum so patzig?AND51 hat geschrieben:Die Möglichkeit die IP durch dirty-Tricks in den Header zu schleusen hat außer dir keiner.
Nur Leute mit einem eigenen PHP/Perl-fähigem Webspace.
Es gibt wahrlich genug Leute, die einen PHP-fähigen Webspace haben, und die, die es nicht haben, aber Programme schreiben und diese irgendwann mal veröffentlichen wollen, die können sich auch irgendwann einen zulegen. Daher ist der Vorschlag doch auch berechtigt (sagt ja keiner, daß das die einzige gültige Lösung ist).
Zudem gibt es hier im Forum ein paar User, die PHP-fähigen Webspace kostenlos zur Verfügung stellen. Da könnte man locker eine "What is my IP"-Seite drauftun, die nix anderes tut, als die IP zurückzuliefern - eben genau für diejenigen hier im Forum, die das benötigen.


ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Patzig? So war's nicht gemeint.
Jemand, der seine eigene Internet IP braucht, kommt auch mit einer selbst erstellten Webseite dran, da hast du Recht. Ich sage auch nicht, dass seine Lösung unberechtigt sei, sondern habe ihm einen Verbesserungsvorschlag gegeben.
Jemand, der seine eigene Internet IP braucht, kommt auch mit einer selbst erstellten Webseite dran, da hast du Recht. Ich sage auch nicht, dass seine Lösung unberechtigt sei, sondern habe ihm einen Verbesserungsvorschlag gegeben.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End