Page 1 sur 1
Appel à un script php externe
Posté : 21 juil. 2011, 23:13
par nicolas6992
Bonjour
je suis débutant en PHP, et j'essaye de faire la chose suivante :
- j'ai un script url.php (appelons le comme ça) qui renvoie une adresse URL en fonction d'un paramètre.
il est placé sur un serveur1, et est notamment utilisé ailleurs pour faire un "<a href='
http://monsite1/url.php?a=leparametre''>on va labas</a>"
- j'ai un second script php, sur un autre serveur, donc pas de include possible, dans lequel je voudrais récupérer dans une variable ce qui est retourné par ce premier script.
Une méthode pour faire ça ?
on va gagner du temps alors pas de réponse du style "t'as qu'à copier le fichier url.php sur ton serveur2", on part du principe qu'il est pas accessible autrement qu'en l'appelant.
Merci

Re: Appel à un script php externe
Posté : 22 juil. 2011, 00:43
par devlop78
Include, fopen, curl ...
Re: Appel à un script php externe
Posté : 22 juil. 2011, 11:17
par nicolas6992
Include, fopen, curl ...
include et fopen, c'est exclu, je n'ai pas accès direct au serveur ou se trouve le script qui m'intéresse, je peux juste l'appeler pour obtenir un résultat.
curl peut être, je comprends pas bien comment ça fonctionne, mais j'ai peur que ce soit un peu pareil, on tente de d'accéder au code du script php lui même.
Encore une fois, ce qui m'intéresse c'est récupérer ce que ce script renvoie, pas le script lui même.
Re: Appel à un script php externe
Posté : 22 juil. 2011, 23:29
par devlop78
Regarde quand même si le php.ini ne te permet pas d'utiliser fopen() sur ton fichier. Include et fopen fonctionne sur du distant. D'ailleurs, j'ai dit une bêtise, include() est dangereux dans ce cas. Il y a CURL mais il y en a plein d'autres. Tu as pas mal de tuto pour ça. Je ne peux rien te garantir, tout dépend de ta conf php.ini et du firewall (un cas extrême où il bloque toutes les connexions sortantes == marchera pas).
Re: Appel à un script php externe
Posté : 23 juil. 2011, 11:01
par Ryle
include et fopen, c'est exclu, je n'ai pas accès direct au serveur ou se trouve le script qui m'intéresse, je peux juste l'appeler pour obtenir un résultat.
Pour le include, je comprends bien, mais pourquoi le fopen serait-il exclu ? Il te permet d'ouvrir une url distante, et avec fgets ou autre, de lire ce que la page demandée affiche... tu as donc bien accès au résultat du script et pas au script lui même, et c'est semble-t-il ce qu'il te faut non ?
Donc à moins qu'il n'y ait des contraintes de sécurité comme l'indique devlop78, ça me semble être la solution idéale à ton problème

Re: Appel à un script php externe
Posté : 23 juil. 2011, 12:50
par sirakawa
Bonjour
1) Je commence par vérifier si j'ai bien compris le problème:
- Le script url.php placé sur un serveur1 renvoie une adresse URL en fonction d'un paramètre.
- Il est impossible de se procurer ce script qui est utilisé par serveur1 dans un ou des scripts php exécutés par ce serveur
C'est tout à fait possible car je viens de vérifier sur mon propre code :
include ("reglisse.inc"); nécessite pour fonctionner que le fichier soit lisible par Apache;
Chez moi, lors du développement les fichiers sont:
propriétaire : moi
groupe apache
droits
propriétaire : lire, écrire, exécuter
apache lire exécuter
autres : aucun droit
ce qui les rend illisibles en particulier pour ceux qui exécutent le logiciel.
2) le
"<a href='http://monsite1/url.php?a=leparametre''>on va labas</a>" se trouve dans un code qui n'est pas de toi?
Re: Appel à un script php externe
Posté : 23 juil. 2011, 18:27
par nicolas6992
Bonjour
1) Je commence par vérifier si j'ai bien compris le problème:
- Le script url.php placé sur un serveur1 renvoie une adresse URL en fonction d'un paramètre.
- Il est impossible de se procurer ce script qui est utilisé par serveur1 dans un ou des scripts php exécutés par ce serveur
C'est tout à fait possible car je viens de vérifier sur mon propre code :
include ("reglisse.inc"); nécessite pour fonctionner que le fichier soit lisible par Apache;
Chez moi, lors du développement les fichiers sont:
propriétaire : moi
groupe apache
droits
propriétaire : lire, écrire, exécuter
apache lire exécuter
autres : aucun droit
ce qui les rend illisibles en particulier pour ceux qui exécutent le logiciel.
2) le
"<a href='http://monsite1/url.php?a=leparametre''>on va labas</a>" se trouve dans un code qui n'est pas de toi?
1) c'est bien ça
2) c'est du html, qu'il soit écrit chez moi ou ailleurs, c'est pas le problème.
Je précise un peu
le script "url.php" (avec ses paramètres) renvoit un truc du genre "un-autre-site.html"
interprété dans du HTML (le <a href= etc) ça redirige directement sur le site un-autre-site
Ce que veux moi c'est récupérer la chaine de caractères "un-autre-site.html"
Re: Appel à un script php externe
Posté : 24 juil. 2011, 09:28
par sirakawa
moi je dirais qu'avec un ftp comme filezilla, il y a de bonnes chances de pouvoir récupérer le site.
Il y a plusieurs hébergeurs dont le ftp fourni ne permet pas grand chose, mais un passage par filezilla ouvre des possibilités...
Re: Appel à un script php externe
Posté : 24 juil. 2011, 12:28
par Ryle
Hum... soit j'ai rien compris au problème, soit vous partez dans des choses bien compliquées...
De ce que moi j'ai compris, tu as un site à appeler qui va te retourner une chaine de caractères (soit l'url dont tu as besoin, soit un code html qui inclu cette url), et tu veux récupérer cette url dans une variable pour l'exploiter...
Donc j'aurais tendance à dire qu'un fopen qui ouvre le script en ligne, un fgets ou autre pour récupérer le code html renvoyé, et au besoin un preg_match pour récupérer l'url souhaitée dans une variable... mais je suis peut être totalement à côté de la plaque ?