OVH Cloud OVH Cloud

Powershell et adresses ip externe

4 réponses
Avatar
Bernard59139
Bonjour
Pour connaitre mon adresse ip vu d'internet, j'ai développé ce petit script en powershell:
-----
$url="http://monip.org/"
$web = new-object system.net.webclient

$page = $web.downloadstring($url)
$ip = "?"

$reg = [regex] "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"
$rep = $reg.match($page)

if ($rep.Success) { $ip = $rep.Value }
$ip
-----

Bien que je sois satisfais, et comme je découvre PowerShell, je me demandais s'il n'y avait pas plus efficace, par
exemple en fouillant dans les Headers.

Merci de vos réponses
Bernard

4 réponses

Avatar
Gilles LAURENT
"Bernard59139" <bfermaut at free dot fr> a écrit dans le message de
news:%
| Bonjour

Bonjour,

| Pour connaitre mon adresse ip vu d'internet, j'ai développé ce petit
| script en powershell:
[...]

| Bien que je sois satisfais, et comme je découvre PowerShell, je me
| demandais s'il n'y avait pas plus efficace, par exemple en fouillant
| dans les Headers.

Non, rien à espérer au niveau des headers. Votre solution me semble donc
la bonne. J'en profite toutefois pour Poster une version VBScript pour
les autres usagers ;-)

--- Coupez ici ---

Set oRe=New RegExp: oRe.Pattern="(d+)(.d+){3}"
With CreateObject ("Microsoft.XmlHttp")
.Open "GET", "http://monip.org/",False
.Send
WScript.Echo oRe.Execute (.ResponseText)(0)
End With

--- Coupez ici ---

--
Gilles LAURENT
http://glsft.free.fr
Avatar
Bernard59139
Non, rien à espérer au niveau des headers. Votre solution me semble donc
la bonne. J'en profite toutefois pour Poster une version VBScript pour
les autres usagers ;-)

--- Coupez ici ---

Set oRe=New RegExp: oRe.Pattern="(d+)(.d+){3}"
With CreateObject ("Microsoft.XmlHttp")
.Open "GET", "http://monip.org/",False
.Send
WScript.Echo oRe.Execute (.ResponseText)(0)
End With



Truc VBScript qui va m'être utile aussi. Je n'avai pas réussi à traduire en VBS l'objet system.net.webclient

Bernard

Avatar
Gilles LAURENT
"Bernard59139" <bfermaut at free dot fr> a écrit dans le message de
news:%
| Truc VBScript qui va m'être utile aussi. Je n'avai pas réussi à
| traduire en VBS l'objet system.net.webclient

PowerShell est toutefois la voie à suivre ;-)

--
Gilles LAURENT
http://glsft.free.fr
Avatar
Michel Claveau
Bonsoir !

Un choix judicieux de l'adresse peut permettre de simplifier la chose.

Exemple, avec une version en Python :
import urllib
print urllib.urlopen('http://alexissoft.free.fr/ip.php').read()

Version PeJBshell :
print urllib.urlopen('http://alexissoft.free.fr/ip.php').read()

Version batch :
@echo off
getweb http://alexissoft.free.fr/ip.php
type c:ip.php

--
@-salutations

Michel Claveau