IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Traitement d'un formulaire ASP avec CURL


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Traitement d'un formulaire ASP avec CURL
    Bonjour !

    Je travaille actuellement sur le site d'une médiathèque. Ils utilisent un SGBD proprio codé en ASP (argh) pour la gestion de leur bibliothèque...
    Du coup pour intégrer les éléments dans un site "externe", il faut passer par une iframe ce qui est pas franchement propre.
    J'ai donc opté pour la solution CURL, afin de traiter les différents formulaires (recherche, login...) mais j'ai apparemment un soucis...
    Voici la page à traiter :
    http://www.mediatheque-agglo-sgms.fr...aspx?IdPage=49

    Et voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    	<?php
    	// Le texte recherché 
    	$search = "test";
     
    	// Url de la page à traiter
    	$url = "http://www.mediatheque-agglo-sgms.fr/opacwebaloes/index.aspx?IdPage=49";
     
    	// Récupération du __viewstate
    	$recupviewstate = file_get_contents($url);
    	preg_match_all("/name=\"__VIEWSTATE\" value=\"(.*?)\"/", $recupviewstate, $arr_viewstate);
    	$viewstate = $arr_viewstate[1][0];
     
    	$postfields = array();
    	$postfields["__VIEWSTATE"] = $viewstate;
    	$postfields["_ctl0:_ctl3:_ctl0:Critere_82_406_num:txtSaisie1"] = urlencode($search);
     
    	$useragent = "Mozilla/5.0";
    	$referer = $url; 
     
    	// Initialisation d'une session cURL
    	$ch = curl_init($url);
     
    	// Options cURL
    	curl_setopt($ch, CURLOPT_POST, 1);
    	curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
    	curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    	curl_setopt($ch, CURLOPT_REFERER, $referer);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     
    	// ASP.NET_SessionId
    	curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt');	
    	curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt');
     
    	// Execution
    	$result = curl_exec($ch);
    	curl_close($ch);
     
    	// Affichage
    	echo $result;
    	?>
    Cependant rien à faire, CURL me retourne le formulaire non traité...
    Quelqu'un à peut-être une idée ?

    Merci !

    PS : J'ai bien Chmod 777 le fichier cookie.txt !

  2. #2
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,

    les données envoyées en POST sont bien ce qu'il faut ? si oui regardes du côté de l'option CURLOPT_FOLLOWLOCATION.
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour Thes32 !

    Déjà merci d'avoir déplacé le topic ici .
    Sinon oui normalement les données envoyées en POST sont bien les bonnes, et j'ai regardé du coté de l'option CURLOPT_FOLLOWLOCATION (j'ai du tester sur un serveur en local sans open_basedir sinon Warning) mais rien y fait ca passe toujours pas.
    J'ai remarqué que le submit était une image sur leur formulaire...Ca vient peut-être de la ?

    Merci !

  4. #4
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Citation Envoyé par hellbleazer Voir le message
    Bonjour Thes32 !
    J'ai remarqué que le submit était une image sur leur formulaire...Ca vient peut-être de la ?
    le fonctionnement d'un d'un bouton submit de type image n'est pas si différent de celui d'un bouton classique hormis le fait que le client envoie en plus la position du curseur au moment du click sur le bouton que tu peux facilement simuler.

    Tu dois vérifier qu'il n y a pas de javascript derrière modifiant ou ajoutant certains champs avant l'envoie...
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

Discussions similaires

  1. Remplir un formulaire PDF avec asp
    Par Michael1979 dans le forum ASP
    Réponses: 1
    Dernier message: 10/11/2010, 10h25
  2. case a cocher dans Formulaire ASP avec ACCESS
    Par db48752b dans le forum ASP
    Réponses: 3
    Dernier message: 14/11/2008, 12h58
  3. Traitement d'un formulaire avec beaucoup de checkbox
    Par sushi_ dans le forum Langage
    Réponses: 4
    Dernier message: 06/06/2007, 12h37
  4. Formulaire envoyé avec ASP
    Par arnaudperfect dans le forum ASP
    Réponses: 6
    Dernier message: 02/01/2007, 00h21
  5. écrire ds un formulaire word avec asp
    Par bobic dans le forum ASP
    Réponses: 4
    Dernier message: 12/12/2005, 13h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo