[PHP] Interrogation d'URL distante, cookie

Répondre
Partager Rechercher
Voilà, je vous explique mon problème car j'ai toujours pas trouvé comment faire.
Pour obtenir l'autorisation d'installer un logiciel sur les serveurs sur lesquels je bosse sur l'interface php, il faut interroger une url distante (celle du developpeur du dit logiciel) jusque là pas de problème.
Mais il faut donc récupérer la valeur rendue, sachant que le developpeur me renvoie un page web marqué Autorisation YES ou NO. accompagnée d'un cookie.
On m'a aussi parlé d'un Context.Values['AUTORISATION'], mais j'ai pas trop suivit où c'était.

Enfin toujours est il qu'en php, pour récupérer la valeur d'un cookie il faut est en train de naviguer sur le site qui l'a créer donc impossible pour moi.
Et lire la valeur dans la page, je pense pas que ce soit possible.
Comment faire ?
Je sais qu'il y a des gens beaucoup plus doué que moi ici (pourtant d'habitude ça va mais là je sèche) donc si vous avez des suggestions... n'hésitez pas
Merci d'avance.


PS : je donnerai les source de la page que la société me renvoie si vous me le demandez.
Lightbulb
J'ai penser aussi, que je pourrais enregistrer la page et la parser apres ou alors ces sources dans une chaine et utiliser un eregi avec "^.+<span>YES</span>.+$" vu que le YES est entre span ?
Enfin je continue a chercher mais je trouve pas
Code PHP:

$fichier=fopen("mon_url","r");

while (!
feof($fichier)) {
$page.= fgets ($fichier,4096);
}

fclose ($fichier);


 if(
eregi("^.+<span>YES</span>.+$",$page))
        
$text="Autorisation : YES";
 else
        
$text="Autorisation : NO"
Voilà
Bon me reste a rajouter les tests d'existance de l'url et autres de sécurité mais sinon ça fonctionne comme je voulais
Citation :
Provient du message de Eldarendil
Je te conseille de parser dans la boucle, tu gagneras ainsi un peu de temps...
Vi en effet, pas bête
Merci beaucoup, j'y avais pas pensé
petite remarque...
tu la tires d'où ta regexp (^.+<span>YES</span>.+$) ?
ça serait pas plutôt '<span>YES</span>' que tu veux ?

sinon, effectivement mieux de parser dans la boucle, en plus vu que le texte que tu recherches est toujours plus petit que la taille de ton buffer, il te suffit de garder 2 buffers en mémoire, et pas tout depuis le début :
Code PHP:

$buffer_size=4096;
$fichier=fopen("mon_url","r");
$buffer="";
$text="Autorisation : NO";
while (!
feof($fichier)) {
   
$prev_buffer=$buffer;
   
$bufferfgets ($fichier,$buffer_size);
   if(
eregi("<span>YES</span>",$prev_buffer.$buffer)) {
      
$text="Autorisation : YES";
      break;
   }
}
fclose ($fichier); 
Talking
Merci Lango

C'est vrai que ça va nettement plus vite comme ça

En fait l'expression regulière vient du fait qu'à la base je comptais parser tout le fichier d'un coup lol
il est vrai que <span>YES</span> suffit


Moi qui veux bosser dans le php à la fin de l'année je me rends compte que je suis pas aussi bon que je pensais Pourtant en général j'arrive a me débrouiller
Citation :
Provient du message de Elric
Si ça peut te consoler, je suis encore plus mauvais que toi.
Ouais mais p'tet avec de la chance que toi c'est pas ton métier
Je fais du php depuis 2 ans et je fais encore des trucs enormes comme ça
Enfin ça m'arrive rarement, mais quand ça arrive c'est de la grosse boulette ou alors du mega prise de tete avant de trouver la solution.
Si, j'aimerai bien en faire mon métier même si j'ai rien codé depuis presque trois ans.

A une époque où j'avais toujours le nez dans mon code, je faisais aussi des erreurs à la con ( du niveau qui consiste à oublier ce foutu ";" ).
Il faut plus de quelques années pour bien maitriser la programmation... et surtout il faut des bases solides.
Tu as suivi des cours d'informatique ?
Es-tu capable de savoir les opérations que va effectuer l'ordinateur pour exécuter ton code ?

Apprendre à coder, c'est facile. Apprendre à coder bien (de manière lisible et efficace), c'est autre chose...
Citation :
Provient du message de Elric
L'important pour moi c'est que ça reste un plaisir, passer de longues heures à chercher l'erreur c'est un plaisir je trouve.
Enfin, j'ai peut être une notion biaisée du plaisir.
C'est bien la différence entre amateur et professionnel
là ou l'amateur recherche avant tout le plaisir, le professionnel cherche l'efficacité
(je ne critique ni l'un ni l'autre, d'ailleurs je ne suis pas codeur professionnel. Mais si il veut en faire son métier il faut qu'il apprenne à coder de manière efficace.)
Citation :
Provient du message de Elric
On vire au débat de philo mais si le plaisir est absent, pourquoi faire ce métier ?
ben justement, je fais pas ce métier donc je peux pas te dire...
cela dit c'est pas parce que l'on recherche l'efficacité que le plaisir est absent.

Quand je code, je cherche à faire un programme structuré, clair, propre et efficace. Et je trouve ça plaisant d'arriver à trouver une manière «belle» d'implémenter quelque chose.
Ce qui prime dans le metier c'est l'efficacité ... mouais, bof.
Ce qui est important c'est surtout de faire dans les delais, en respectant la norme maison, aprés le reste c'est pas super important.

Evidement, si ton script met le serveur a genoux ça va pas le faire ... disons qu'en faisant gaffe un minimum tu peux apprendre en gagnant de l'argent
Citation :
Provient du message de Lango Silma
petite remarque...
tu la tires d'où ta regexp (^.+<span>YES</span>.+$) ?
ça serait pas plutôt '<span>YES</span>' que tu veux ?

sinon, effectivement mieux de parser dans la boucle, en plus vu que le texte que tu recherches est toujours plus petit que la taille de ton buffer, il te suffit de garder 2 buffers en mémoire, et pas tout depuis le début :
Code PHP:

$buffer_size=4096;
$fichier=fopen("mon_url","r");
$buffer="";
$text="Autorisation : NO";
while (!
feof($fichier)) {
   
$prev_buffer=$buffer;
   
$bufferfgets ($fichier,$buffer_size);
   if(
eregi("<span>YES</span>",$prev_buffer.$buffer)) {
      
$text="Autorisation : YES";
      break;
   }
}
fclose ($fichier); 
Une idée de pourquoi ça ne marche pas avec des url sur free.fr ?
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés