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 :

Methode POST sur un annuaire


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 42
    Points : 18
    Points
    18
    Par défaut Methode POST sur un annuaire
    Bonjour tout le monde
    Je veux utiliser la méthode "Post" dans un annuaire pour récupérer la liste des entreprises.
    J'ai cherché sur internet j'ai trouvé le code suivant !
    avec ces deux variables var1=fr et var2=1267

    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
    <?php
    // Site information
    $site = "www.exemple.com";
    $url = "www.exemple.com/ed/searchList.do";
    // Build your POST query
    $req = "var1=fr&var2=1267";
    $header="";
    // Header info to connect to the server
    $header .= "POST $url HTTP/1.1\r\n";
    $header .= "HOST: $site \r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= 'Content-Length: ' . strlen($req) . "\r\n\r\n";
    // Open up a connection on port 80 to server
    $fp = fsockopen ($site, 80, $errno, $errstr, 30);
    echo $site;
    // Can't connect? Then DIE!
    if (!$fp)
    die("I couldn't connect to $site" );
    // send POST request
    fputs ($fp, $header . $req);
    // Receive POST request
    while ( !feof($fp) )
    {
    $response = fread($fp,1024);
    print $response;
    }
    ?>
    lorsque l'execute ce code j'obtient :

    HTTP/1.1 200 OK Date: Fri, 15 Feb 2013 16:55:30 GMT Surrogate-Control: no-store Expires: Thu, 01 Dec 1994 16:00:00 GMT Cache-Control: no-cache="set-cookie, set-cookie2" Content-Type: text/html; charset=UTF-8 Content-Language: en-US Set-Cookie: JSESSIONID=0000dBa3hwZFVDI1gXmhWXtuTqC:173lmaceb; Path=/ Set-Cookie: TS74b695=bcf646b27964f6289de5c8f3a66dd57d3fecd24eb71a362a511e688160ac0ec5e65ba86e; Path=/ Transfer-Encoding: chunked f4d
    Erreur interne
    La page demandée présente un problème et ne peut pas être affichée. Nous vous prions de bien vouloir nous excuser pour la gêne occasionnée.
    Je souhaite qu'il m'affiche la page avec les deux variables : var1 et var2 que j'ai déclaré.
    Merci d'avance.



    

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as cURL pour faire ce genre de choses.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 42
    Points : 18
    Points
    18
    Par défaut
    Bonjour,
    J'ai déjà essayé plusieurs fonctions de Curl mais ça ne marche pas.
    Avez-vous un exemple d'utilisation simple qui fonctionne?
    Merci

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 42
    Points : 18
    Points
    18
    Par défaut
    voici le code CURL que j'ai testé

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?php
     
     
    // Complétez $url avec l'url cible (l'url de la page que vous voulez télécharger)
    $url="http://www.exemple.com"; 
     
    // Complétez le tableau associatif $postFields avec les variables qui seront envoyées par POST au serveur
     
    $postFields=array(
    "language"=> "fr",
    "input"=>"1267",
    "idRubrique"=>"0",
    "idProduit"=>"0",
    "idLocalite"=>"0",
    "prive"=>"1",
    "orderName"=>"",
    "orderDirection"=>"",
    "numPage"=>"1",
    "ajax"=>"1",
    "explain"=>"0"
    );
     
     
    // Tableau contenant les options de téléchargement
    $options=array(
          CURLOPT_URL            => $url,       // Url cible (l'url de la page que vous voulez télécharger)
          CURLOPT_RETURNTRANSFER => true,       // Retourner le contenu téléchargé dans une chaine (au lieu de l'afficher directement)
          CURLOPT_HEADER         => false,      // Ne pas inclure l'entête de réponse du serveur dans la chaine retournée
          CURLOPT_FAILONERROR    => true,       // Gestion des codes d'erreur HTTP supérieurs ou égaux à 400
          CURLOPT_POST           => true,       // Effectuer une requête de type POST
          CURLOPT_POSTFIELDS     => $postFields // Le tableau associatif contenant les variables envoyées par POST au serveur
    );
     
    ////////// MAIN
     
    // Création d'un nouvelle ressource cURL
    $CURL=curl_init();
    // Erreur suffisante pour justifier un die()
    //if(empty($CURL))
    //{die("ERREUR curl_init : Il semble que cURL ne soit pas //disponible.")}
     
          // Configuration des options de téléchargement
          curl_setopt_array($CURL,$options);
     
          // Exécution de la requête
          $content=curl_exec($CURL);            // Le contenu téléchargé est enregistré dans la variable $content. Libre à vous de l'afficher.
    	echo "$content"; 
     
          // Si il s'est produit une erreur lors du téléchargement
          if(curl_errno($CURL)){
                // Le message d'erreur correspondant est affiché
                echo "ERREUR curl_exec : ".curl_error($CURL);
          }
     
    // Fermeture de la session cURL
    curl_close($CURL);
     
    ?>
    j'ai le message d'erreur suivant :
    Erreur interne
    La page demandée présente un problème et ne peut pas être affichée. Nous vous prions de bien vouloir nous excuser pour la gêne occasionnée.

Discussions similaires

  1. [PHP 5.4] Validation formulaire Method POST sur la même page
    Par actarus4444 dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2014, 22h13
  2. [PayPal] Redirection HTTP sur serveur de paiement via method POST
    Par aphax dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 06/08/2009, 10h42
  3. Réponses: 1
    Dernier message: 25/02/2008, 23h05
  4. [Cookies] Methode post sur un lien
    Par Tee shot dans le forum Langage
    Réponses: 20
    Dernier message: 04/06/2007, 18h32
  5. Comment utiliser la methode POST sur une icone ?
    Par horkets dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 27/05/2007, 18h51

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