begin process at 2012 02 15 20:35:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Télechargement code source page externe avec des $_POST


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Télechargement code source page externe avec des $_POST

mardi 3 juillet 2007 à 21:59:31 | Télechargement code source page externe avec des $_POST

neamar

Bonjour à tous !

Voilà, je cherche un moyen de télecharger via PHP les resulats d'une recherche effectuée avec la méthode POST sur un site externe.
Par exemple, pour ce site : http://www.gutenberg.org/catalog/world/results , je souhaite récupérer avec PHP de code source résultant de la recherche.

Avec

<?php

$resultat = file_get_contents("http://www.gutenberg.org/catalog/world/results");
echo $resultat;
?>


Je n'envoie pas de variables POST dans le header, et récupère donc une page génerique sans résultats.

Si quelqu'un a une idée, ou mieux : la solution ?
Merci !
mardi 3 juillet 2007 à 23:13:59 | Re : Télechargement code source page externe avec des $_POST

coucou747

Administrateur CodeS-SourceS
Salut

faut voir curl ou fsockopen

cherche iprelax, ou les rfc du protocol http, sinon t'as une demo ici http://www.phpcs.com/codes/BANNIR-CLASS-PHP4_33280.aspx


une recherche sur exalead vous aurait peut-etre evite de poser cette question
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
mardi 3 juillet 2007 à 23:51:31 | Re : Télechargement code source page externe avec des $_POST

vilhjalms

Saell og blesuð

Avec fsockopen ( methode la plus courante )

<?php
function get_html($url,$var) {
    if (strtoupper(substr($url,0,7))=="HTTP://") $url=substr($url,7);
    $p = strpos($url,"/");
    if ($p===FALSE) {
        $nom_domaine=$url;
        $get="/";
    }else {
        $nom_domaine=substr($url,0,$p);
        $get=substr($url,$p);
    }
    $errno=""; $errstr=""; $r="";
    $fp = fsockopen($nom_domaine, 80, &$errno, &$errstr, 15);
  
    $header = "Host: $nom_domaine\r\n";
    $header .= "User-Agent: PHP Script\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: ".strlen($var)."\r\n";
    $header .= "Connection: close\r\n\r\n";
  
    if($fp) {
        fputs($fp, "POST $get  HTTP/1.1\r\n");
        fputs($fp, $header.$var);
        fwrite($fp, $out);
        while (!feof($fp)) {
            $result.=fgets($fp, 128);
        }
        fclose($fp);
    }else{
        $result=$errstr;
    }
    return $result;
}
$url='http://www.gutenberg.org/catalog/world/results';
$var='author=poe&title=the raven&etextnr=';
echo get_html($url,$var);
?>

Avec Curl ( methode la plus elegante selon moi )

<?php
$URL="http://www.gutenberg.org/catalog/world/results";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"$URL");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "author=poe&title=Edgar Allan Poe's Complete Poetical Works&etextnr=");
$html=curl_exec ($ch);
curl_close ($ch);
echo $html;
?>

Ou la methode bourrine ( deconseillee mais je l aime bien :) )

$request='author=poe&title=The+Works+of+Edgar+Allan+Poe&etextnr=';
echo file_get_contents('http://www.gutenberg.org/catalog/world/results?'.$request);
?>

Vilhjálms
Sigurðsdóttir aka Frëyjá
mercredi 4 juillet 2007 à 12:19:57 | Re : Télechargement code source page externe avec des $_POST

neamar

Merci beaucoup !

Avec la méthode Curl , jen ne récupère qu'une partie de la page, ca s'arrête abruptement :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="ebooks, ebook, books, book, free, online, audio">
<meta name="description" content="20000 free ebooks online">
<meta name="classification" content="public">

<link rel="stylesheet" type="text/css" href="/css/pg-002.css"> <link rel="shortcut icon" href="/favicon.ico">
    <title>Search on Titles &gt; Results - Project Gutenberg</title>
</head>

<body class="IEhack">
<div class="menubar">
<div id="logo" class="logo">
<a tabindex="1" href="/wiki/Main_Page"
title="Go to Main Page"></a>
</div>

      <div class="menu">
<div class="menu-group menu-group-open">
<a class="h1" tabindex="30" accesskey="1" title="Go to the online book catalog section - Accesskey=1" href="/catalog/">Online Book Catalog</a>
<span class="menusep">=&gt;</span> <form method="post" action="/catalog/world/results"
accept-charset="utf-8" enctype="multipart/form-data">
<fieldset>
<legend>Quick Search</legend>
<div>
            <label accesskey="a" for="menu-author">Author:</label>
<input tabindex="20" alt="Author" type="text" size="20" value=""
maxlength="80" id="menu-author" name="author" title="Typ
C'est assez bizarre !

Avec la méthode files_get_content, c'est un autre problème, j'obtiens l'erreur failed_to_open_stream ! :
Warning: file_get_contents( [ Lien ]) [function.file-get-contents]: failed to open stream: HTTP request failed! in /mnt/139/sdb/d/3/neamar/rechercheEbook.php on line 3

Alors que si j'enlève le $request, la page se telecharge sans erreur 

Bref, il ne me reste plus que la méthode fsockopen, qui ellle fonctionne sans problème !

Merci beaucoup !

(si quelqu'un sait pk les autres ne marchent pas ?)

mercredi 4 juillet 2007 à 14:26:54 | Re : Télechargement code source page externe avec des $_POST

vilhjalms

Saell og blesuð

Heu pour le file_get_contents peut etre que allow_url_fopen est egale a off mais bon c est pas propre du tout comme methode alors :)

Pour curl il faudrait la conf plus avant et peut etre preciser le useragent et le buffersize mais j ai pas teste

Vilhjálms
Sigurðsdóttir aka Frëyjá


Cette discussion est classée dans : page, code, source, post, externe


Répondre à ce message

Sujets en rapport avec ce message

Comment je peux cacher la source de mon code html dans une page php pour ne pas qu'on voye les action faite par le site ? [ par BenXbox ] Comment je peux cacher la source de mon code html dans une page php pour ne pas qu'on voye les action faite par le site ? Bloquage code source d'une page [ par laurentbalmer ] Comment pourrait-on faire pour q'un utilisateur ne puisse pas avoir acceès aux codes source des pages qu'il visite.si quelqu'un connait une astuce je Affichage du code source de ma page [ par superbaloo78 ] Pour diverses raisons (principalement debuggage) j'ai besoin de faire l'affichage du code php de ma page. Donc voila j'ai programmer cela comme ca : f Code source page web !! [ par Ptit_Dave ] Bonjour tout le monde. Voila, j'aimerai savoir (je n'ai pas réussi a trouver sur le web), comment on fait pour récupérer en PHP un code source d'une Page Protégée par mot de pass [ par MindFreak ] Salut je vous propose un code php pour securiser une page web a fond  codé par moi même Ce code est simple, je ne discuterai pas longtemps dessus. Je empecher affichage code source css [ par sidf ] bonjour à tousa la lecture du code source html d'une page, on peut connaitrele nom d'une page .css incluse avec @importcomme on peut donc saisir direc Récupération du code source d'un page [ par XGotX ] Bonjour,Je cherche à récupérer une partie du code source d'une page pour la traiter php.Existe t'il une fonction comme get_meta_tags() qui serrait plu Modifier les code source d'une page web [ par Erreur102 ] Salut a tous et a toute , Voila je débute en programation PHP . Je voudrais savoir si il est paussible de récupéré les code source d'une pages web.Et comment peut on modifier code source d'une page web! [ par bluever ] salut tout le monde.. Bon voilà, j'ai un petit soucis avec un petit malin sur un forum, qui arrive à publier des posts avec mon pseudo !  Tout d'a Recuperer code source d'une page et afficher uniquement les images [ par higink ] Bonjour, je débute en php et je cherche à récuprer le code source d'une page distante et afficher uniquement les images contenue dans le code.exemple:


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales