Interrogation d'un IP externe avec précision du port.

Eléphant du PHP | 103 Messages

26 sept. 2011, 12:44

Bonjour.
J'ai établi un script permettant de récupérer les informations issues de différentes IP externe, mais certaine demande la précision d'un port.
Par exemple, j'interroge 123.456.789.100:81 et 123.456.789.100:82.
Cela fonctionne à merveille sur EasyPhp mais ça ne fonctionne pas lorsque c'est sur mon hébergeur, pourquoi?
Comment y remédier?
GRAND MERCI!!!
Bonne journée

Eléphant du PHP | 275 Messages

26 sept. 2011, 12:57

Les ports ne sont pas ouverts / il n'y a pas de serveur qui réponde sur ces ports.

ViPHP
xTG
ViPHP | 7331 Messages

26 sept. 2011, 14:20

Ou bien ton hébergeur est plus strict que ton local et tu as des erreurs bloquantes dans ton script(ou bien une extension désactivée) mais la gestion des erreurs désactivées.

Eléphant du PHP | 103 Messages

02 oct. 2011, 00:07

Rien à faire, cela ne fonctionne pas sur le serveur distant!!!
Mon code est le suivant :

Code : Tout sélectionner

request($ip,$requestarray); function request($ip,$requestarray) { //encode JSON $request = json_encode($requestarray); //Connection $request = 'RPC='.rawurlencode($request); $ch=curl_init(); $timeout = 5; //curl_setopt($ch, CURLOPT_PORT, 81); //TEST //curl_setopt($ch, CURLOPT_PORT, $ip['81']); //TEST //curl_setopt($ch, CURLOPT_PROXYPORT, $ip['81']); //TEST // curl_setopt($ch, CURLOPT_PORT, 81); curl_setopt($ch, CURLOPT_URL, "http://".$ip."/rpc"); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_HEADER , 0); curl_setopt($ch, CURLOPT_POST, 1 ); curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
Quel est le moyen de signaler au serveur de se connecteur à l'adresse IP spécifiée en précisant le port distant 81???
Sur EasyPhp cela fonctionne très bien et l'adresse est parfaitement correcte.
Sinon, quel moyen détourné utiliser???


Grand merci!

ViPHP
xTG
ViPHP | 7331 Messages

02 oct. 2011, 08:29

As-tu vérifié que curl() était activé sur ton serveur ? Sinon tu peux essayer avec une socket.

Eléphant du PHP | 103 Messages

02 oct. 2011, 11:04

Merci mais je ne sais pas comment faire!
Cela fait seulement 4 jours que je fais du PHP!
J'ai également oublié de préciser que le script fonctionne parfaitement avec une adresse IP standard en port 80. C'est uniquement lorsque je précise un port différent du 80 que cela bloque.
Afin de vérifier si c'est le serveur, y aurait il une âme charitable afin de mettre ce script sur leur serveur pour voir si cela fonctionne?? Merci de me MP!
Merci!

ViPHP
xTG
ViPHP | 7331 Messages

02 oct. 2011, 12:46

Si le script fonctionne sur le port 80 c'est donc que les autres ports du serveur sont bloqués, il n'y a pas d'autres réponses.
Et donc quelque soit la technique tu ne pourras pas utiliser ces ports.

Eléphant du PHP | 103 Messages

03 oct. 2011, 23:00

Quelque chose m’échappe tout de même, en exécutant ce script PHP sur mon serveur, je signale une adresse IP distante ainsi que un port pour le routeur distant.
Ainsi, normalement dans ma logique, mon serveur exécute un requête via le port 80 en visant le serveur distant par l'adresse IP, mais le port 81 n'est qu'une indication pour le routage sur le serveur distant (qu'il accepte bien évidemment), le port 81 n'est pas a utiliser sur mon serveur!
Vous me suivez???

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

04 oct. 2011, 00:16

salut,

je dirais que si puisse que tu précise le port 81, sauf si tu a du nat qui redirigerais du 80 vers 81.

j'suis pas super calé en proticole ip mais globalement c'est normal d'utiliser le même port, sauf nat (genre tu a un serveur web sur le port 80 de ton pc mais tu attaque ta box sur 8080 etc etc etc).

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 275 Messages

04 oct. 2011, 16:05

Ah, d'accord : tu essayes de joindre un AUTRE serveur sur son port 81. Dans ce cas c'est probablement le firewall de ton hebergeur qui t'empèche de sortir sur le port 80