JeuWeb - Crée ton jeu par navigateur
[Résolu] Solution de récupération de fichier - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Solution de récupération de fichier (/showthread.php?tid=6228)



[Résolu] Solution de récupération de fichier - Akira777 - 27-06-2012

Bonjour !

Je viens vous soumettre une demande d'avis.

Voilà imaginons, que j'ai un hébergement mutualisé chez X, qui ne supporte pas la création manuelle d'une socket (je féminise de part la traduction française, ça fait mystique, j'aime bien) mais bien cURL. Je dois concevoir un script open-source pour aller récupérer un fichier XML distant caché derrière une "Auth Basic" par .htaccess dont je connais les identifiants.

Dans un soucis de compatibilité cross-hosting de mon script, j'aimerai ne pas utiliser cURL.

Pour ma part, cela ne me pose pas problème mais que dites-vous d'utiliser dans ce cas fopen() ou file_get_contents() en spécifiant un contexte HTTP via le deuxième paramètre de ma fonction où j'indiquerai mes options de connexion ?

Evidemment, mon serveur a l'option "allow-url-fopen" activée.

Dans l'optique de résolution du problème je ne choisis pas d'utiliser cURL, même si en mon sens c'aurait été plus flexible.

A vos claviers.


RE: Solution de récupération de fichier - niahoo - 27-06-2012

Bon ben c'est moi qui m'y colle alors : « Pourquoi ne souhaites tu pas utiliser curl ? »

Voilà sinon sans curl je vois pas trop d'autre choix donc bon fais comme ça.


RE: Solution de récupération de fichier - quentin01 - 27-06-2012

Si tu ne veux pas utiliser curl, autant utiliser un file_get_contents("tonurl") tout simplement ...


RE: Solution de récupération de fichier - atra27 - 27-06-2012

Pour l'auth en htaccess, un simple http://username:pass@toto.fr et le tour est joué...

A moins que je pige pas bien quelque chose :$


RE: Solution de récupération de fichier - Akira777 - 27-06-2012

Re,

Merci pour vos réponses. Techniquement, pas de problème, je sais faire (si je puis me permettre).

J'ai juste rapidement imaginé ce cas, professionnellement j'ai vu tourner tellement de mutu qui n'avait pas cURL ou la création de socket que je me suis dit, y'a t'il une autre solution à laquelle je n'aurais pas pensé ?

Sachant que, pour résumer on peut faire de cette façon :

- fopen() (ou file_get_contents()) avec l'URL de la forme ("http://url/fichier.xml:username@password"), dans le cas d'un htpasswd
- fopen() avec l'URL simplement à laquelle on ajoute des en-têtes HTTP suplémentaires (dans le cas d'authentification en POST)
- cURL
- ou création d'un socket personnalisé

Si vous avez une solution supplémentaire à ajouter ?



RE: Solution de récupération de fichier - atra27 - 28-06-2012

ha oui je comprend mieux le pourquoi du comment ^^

il me semble qu'include/require permettrai ça aussi mais je crois me souvenir que ça suit les mêmes règles que fopen

sinon si ta accès aux commandes systèmes, un wget...

c'est tout ce qui me viens à l'esprit pour le moment :-D


RE: Solution de récupération de fichier - Akira777 - 28-06-2012

Yep Atra, il me semble (si je dis pas de bêtises) que dans toutes les fonctions de ce ce genre (fopen, file_get_contents, wget, include, ...) dès que tu mets une adresse de ce genre : wrapper:// PHP va chercher dans la liste de ses protocoles supportés (de base ftp, http, ssh2, ogg, file, php, zlib, data, glob. De tête je crois que c'est tout), donc devrait supporter une forme "http://site.tld/fichier:username@password" dans une include...