Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-10-2010 09:05:10

Davjack
Membre
Date d'inscription: 06-02-2009
Messages: 32

Zend_Http_Client : Impossible de récupérer certaines pages web

Bonjour,

Je suis en train de tester Zend_Http_Client et je rencontre un problème.
J'essaye de récupérer le contenu de pages externes. Pour certaines comme google.com, cela fonctionne sans problème mais pour d'autres comme par exemple allocine.fr le résultat est comme chiffré.

Mon code est le suivant :

Code:

<?
ini_set('display_errors', 1);

set_include_path(implode(PATH_SEPARATOR, array(
    realpath('zf/library'),
    get_include_path(),
)));

include("zf/library/Zend/Http/Client.php");


$config = array(
    'adapter'      => 'Zend_Http_Client_Adapter_Socket',
    'useragent' => 'Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.10 (intrepid) Firefox/3.0.6',
    'maxredirects' => 5,
    'timeout'      => 30
);

 

// Instantie un objet client

//$client = new Zend_Http_Client('http://www.google.com', $config); //Marche :-)
$client = new Zend_Http_Client('http://www.allocine.fr', $config); //Marche pas... :-(


$response = $client->request();
echo $response;

//Récupérer le titre de la page
$txt = $response;
$resultat = preg_match('#<title>(.+)</title>#', $txt, $articles);
if($resultat > 0){
    echo $articles[1];
}else{
    echo "Pas de titre...";
}

?>

et le résultat affiché est le suivant avec allocine.fr :

HTTP/1.1 200 OK Date: Tue, 26 Oct 2010 06:59:48 GMT Expires: -1 Cache-control: private, max-age=0 Content-type: text/html; charset=UTF-8 Set-cookie: PREF=ID=fc87b8bb647eda69:FF=0:TM=1288076388:LM=1288076388:S=qcmvueOxgs4B1B-L; expires=Thu, 25-Oct-2012 06:59:48 GMT; path=/; domain=.google.ch Set-cookie: NID=40=oYj_urR90hSB3AyUsKPm-diXGc8FrttxKr2avLTQqViM3sRlgn3awbZBpgGFMG0BcOhEoD9-Li7ei098piqw-_9tnOuis1bcQfEHENzcPPd87q7TGXnw3mnR0Sa9Al5-; expires=Wed, 27-Apr-2011 06:59:48 GMT; path=/; domain=.google.ch; HttpOnly Content-encoding: gzip Server: gws Content-length: 5329 X-xss-protection: 1; mode=block Connection: close ‹�����ÿµ;ÙvÛ8²ïù š¹‘Ä1M-ÞES9Ž³¹³õtÜ«Ûã’ ‹›IJ^dýÉ<ÞsîOÌ[ÿØ­Š”ä83çÞ8&‰­P¨*ÔøhÃMœâ.¥JPDáè¨|R⎎"Z¨.Ò-z=aSKu’¸ q±…ýU¥,YjAo‹.4' YN ëç³·[êè¨`EHGï’ÄéQW”Žr'ci1ºa±›Ü>o´fã7§Cõ ÷÷ïÎ>Ÿ¼?Í·÷¶þNþˆþˆý“U¿ùíGhìímï냽Ãà >ØïlÃsp° í'_O‡3ú ”= Þ¦ìñ¡s= ‡Þ$v –Äm6×SâÓ¯)`¾ç0÷û CÕ¥ª^°ˆÖ;f´˜dq'¦7Êkè¬>-Î OG›ëaâ/ºÚº«;ÚlJ2…XØý4‚tj Úè¾E ÐÑneutral1“IL³,ɬ~† qű“¬°j¸4¤Uüsïb®i&¾-b:–óð v}_z;/ pÓb-¹ioª-À©›.|Ý߇@Á(8Þ0wžÁx±¼Í>,Äž_è!öô+à@<ìë j•ã½Ð*²  ëô[ ö0L‚ F@ò Õj7,$·=nëiˆ³FÌšÃÃØ ëgIÚ4,†³ùÜìÔ&ñ’¬ƒ¤u­žîÀêÏU⪺j;ðHñ—À㫯âà96ç©ÏÛ[ì‰í÷÷êŹ»¹yaj‹©Hµ «sra­®óÊHC# äAçœè$ó'ìŸüB›ÏµŽ£ÁC3Ÿ5v…‘Ç–zCí UÍfò#Ë­r8ƒEçÉŠáZazÙݬ -,YQØon šÅ$lµVë ”ö3@m¬p‚Îv@ÔUž—c†Vß|vÔ-·÷Q^Ü…Ta®åó¯‘ ¸w³–ÍâaoþÜOüYJ\—Åþp;½Uà·7/ÜYÈbºPæÅÐ8 ÑÜð‰s)KMýýôv¼ J˜[vRI4ô çÒ W'zªˆ�h- D,¼’Œ‘PÏIœoå4cÞÚ $L²áóí=gn\ËR¯¥"Çy%ž=¬˜Á6si¶ÝB’æt(?æ43Ý í$tM^Á 0ŒYÎ 0/€n w÷�Y`& dÍ.ÐaÎâtR4°fq�Èsbøv_Çç€?·ùsGâÜï;Ê‹RP$.‘mâŒý,™Äîð¹çyPi“LîO`ùbŽœÝÓa˜`– Ý*’t؆4`Á°™W CêfɇÁ�.¡Éá%+öL´[$d~<Ìp(0Ötx¸’¤rÚ<  ™«ÙÁí—Û¡3«ë‰]Y tlÊc l€À€¸®©mk@ËD½hÛ Ñ TŠèýå=åÀ6:<<,P”ziì€ÙÀ‡ÏPŸ`’… .C_+ïæYšuc2½Ï,éïiìkŠ -Çt؇u*ËÆC¢ÇwSµEz¦3ÉrøNb›5P’ÐL&¾@ æ °Ô7@TŽªÞ:I` Ü€ ½Ä™ä3 ƒË•á¡þÜ Q å,JŸ«g`WHb*S¦lse ¦uª¸lZ±N€õâ…ÞvÑdoMRÁès/]{t·.ý«›Ð’œ)½!¬Ÿ8áíÚïeõ ®¿xpò4“y{dõ¤S\ë–Oì¼È` {³Ï;v;ÿxhi×V×(h^€Öj‘4ËÚê·Z¢ú·Aç¿à«ê¯ÍüŒÂêÚQ»9%™¼T7IU)F{©uþ ÖÅߺ¾®ªZé.€°pö•þ|^~õæõ%§°â Né7•«áî¢ ©¨çÂoÎvpœ¾ÛëisóYékÝY³¹Y~ß.\Lˆ*/óîœ̽°Î¡òBâ呤ÖFÃyÓ–¢°ù’ŸédѺJfõd Žëxxº¯ õP·õH›Át^r7×ûL2”ÆNâÒŸ:=I@Šbèðð@s‡¤Twj!P`­Ì¼¹¹ŠâypA‰³Œœ*0r¾­ƒƒ  _«e×D­§ïi~´ræ,U³«ÏM¦Å˜è\í‚:y™ë âøßr ŽÒI'Ôté'·Z‹@À{ ®™5P‡¼÷”Šî‘¦ShX�üéÐ…�>7þÖE©ÓUn¢ ¾¼R5†2€òh k_W ’:�DŠ)¼aøxÖìyikesÆ»E-V¥‚ƒ‰5cî° ýÛsC,¦°X¡ZrÎ.,  JJ;‰^…`„Qø âLáBW$Ð?PlŸëR "úhF-T¬ðO…7ÐýSQZ!¢äy¼c)*?å ³•LzƵÁ)DI"º åñ]²,¶•Hv4Îîö7ìF[UFGˆ2É(Á�Èə¤UW²°dÙ©Rœ0óQ­B‰bpƵÚÂm׈ȼŒDT‰áaÝøWÞšiD_U+êTó… kÅZTÊU@U@n® fpžZX£ÿ Cœ€þ;C¾ƒtõîÁwM §$ÆÞañèŒ R…üÉRâ/¾AdGGqbÃÓVœ ä9ÔõG¿Rû¨k ”#¢ e²TÌ• »Ý››…N @Nü }„–K[±A¡!•  9cÙ¸Î;EÀr­ù Á«8ê’UàSæÒ¤¾yú4ä_px¾r1l 0ëÀç ‚!kAÃŽoò&Iâ§akaÛI2®·ÇKÀÓï ÷_ÿ±YOp’°ŸD¼Ü z¤Ö ‰T§ò :­…¶$qv]ÚMRÔŽyw ©Š(v8É:š)u& ‚2¨\  ¾ÊýÑ-p$Ò$ ¤<‰Vá²=:šŒ>Ñ�V5<òˆ„á¨õüpo¯‡ ƒE.årP$ä  –ñ.2ðyCRÐGDïì)"FýÓ¦˜¾„ÐàTúÂïzdûé9^!Œï <¨ Shuð¿? “¾“|’º@ˆrš:õMb‚6éBY>¿ ˆ¸ÿ4vI¨a$YGÌQk3|àý!a QDNn¨][j 4—yýô2ß&Å#:,R^Ǻ8©£yÊVi‘(5•3bÓ þ>¶ÀÒPïêPâíka¼þ(jÛu _Yż%d5t Ÿ¥M]â?M¼wÈÿ¡p¬S *qâJ[]ieäz’˜bö¾0\¢ -fëž ³0A&­›4Œ¾WS€.èb}½Õ«Z½5­t±é§­ËÌo¥SZÛ­kkýJýÛoƒðÅök—¾ìåÉ$s(”˜Ž[“Ü·Žßþýêäó» ¯÷þ¸Üýpæm½~úñÃôëÁVb¾%ɇãqvFLž<9‰i…âDa¿9´´tõ±_'`Xœ ¼“Ø/å÷¡)4ùêF&Ž¡z‘w?& —ƒé+OèúUק=Ž# Ɵ϶Ê;Ù/(]‘¾üV‘ýé5¥ ?•#‡bvbÁ:t3GU­ 0ÐÇX l ýtá…~i9Ä,ªL+ xs ªhç) Ž§ìº’€Aé¦ñ%¯îTs‡úF$bâd bJª¬s¿ß«R¼ƒý=˜N᧋–*X®r$Båç–N˜„x¬r¯Œ“›Œ¤¹2‡³¿¿_ÏOíÉtU=³Ïi?èc’¬Jgl$›Š,ô~©ðÕ `Ôý*ý ¬Åc …ðÉ’ÉUxñ°Á@ó€KဖT¶z¼lsx ºdÊTP&†¢[nîÁî‹Q+¶óTBáòÑM0¹\<Ä ˜t¡‚ç»–.,ˆ­K}ľ\Ó/¨`ÕÛø›Ý|£-¨K¯›KvÈÄÙ`‘8ÛAS%(2)œãyKM±#VH²5iY ^òg¡ÑS×ê«•Ù¨[‰Ã“(œ®Cáxâ)>tz‚7?ÞøO° {¤Ô Õªk1óÝ5KBÜ)3â^–‰CaMFo2Øú°Ï ªpÊp¥^ ÂŒìôÝe‘$¡´@£¯i1¬0õÒ Zà‚ãu¼Qc4ðB[l¿0#KoãA *´M©¼I˜£Î‰ !ë[}^)RÄeDR DA a“‚Ä=á¹ _ Ö4™3PH—ïüÕÛÍí=ýáòt/Ê>ý¶ûËåmxzzïXÜ+„ÅÒû!˃ïp ÿƒ ¼Ly·üõ?„}OPðLÁ utZ€t 8ùÿ™!Þý4‰xN ¤9'ø¹° ÷.£yU/­¹ p¥²õ^’ðúÒ` Sd ˆÛB­Àã CÙ¥TGýCT^ Š•ê«~€*æPk¢/=Zâ‚7;ú•f6Hîå…ö¦³ L /©"˜\×{}t;0ý»ªŒ©Êšè5h¸â ìáOÍ8@Z€G—Þ™Ê ×ï)[Ê*®iƦĹ+±Å1ðoRÜ‹ùÒ5œ©8$ryK§Êl£Ó¸ £´Zò,EÃïåsÌyu#¥aÍ~YÇI†çmžîjëmôùà%Ä>n¯rÖ¾ÐSÑ3χUҧś âç«»S·Ó×:ÚšÁâ˜fïÏ>}Ô1¡6l/eÔ8YÛÊf{ÉÏëm4H¡\Ó„xU õ¼ñ2¹nÄa &©aŒU¡ï@pYÐr ¶ÖÖLèTft)¿ñré„ÌݽÞÝ'Nïp¯ßówŒ«¼mv¥€qÛšòð 4²¶šAÒö“€…n:i œ·” ’bN*3¶ªL^*ühQ)7˜y0ö¦R9œJåqªÂ0yÄ­Å_WdJÄdÃiÂÜNOS+¿F+½¥ƒ`sõ²ŒIyÞ¹Ø<ƒôøý uôžŸ}úxN6,^ùë¿1o×6\¹j$Ýj[“¿Óä‡á±,/¬ó óÉV™úGâË327/2l.‹zX,c„ÚVª \ˆƒ«GäI¸ªòŠœ*¥é*ïzÝÿ‡ñ? žü>ð³Oo~Þ9>¹É>½MÄûxG¼_9â}R¾_ß”ýÞ”ý ÿ›c÷ãI~óöÊ?Æ÷»3ñþáìêGvü&ÿp|ýå8Çwöå/÷¿ÃûÕqù~U¾?9Nðý¥,Ÿ•ïŸÅûØ-ß¿—ïßþñéoããÓ ûõ'·v %=ö…úø¾P‘¹ªöðð ]A´ÅŶê¤L áŒB[W‰| skÝÍ7s®ƒ |¶à¿ÕŸ×9ú¬RÐ+Ñ«LS£K~¦¬Õ?'½Þö  <ÅF]^÷æ- Bš Eáˆzå5¸ù(£ð'1xÊ)¸6ÊqìñÄÊ$ö•˜9f‚rï¯A[l(¿€yÀx;V¾2ªÐýýíÀã5½X$Ì sà ‘ÑeÁR@ïî¡rPÀh¦+“Hªns4j�Ñ¥qÞ·£Š<.tB(K-r|]{¨=¼õ~Áæ¦k‹<<”$ä«¥æ%F¾6-¸'WêØ™ŽhÜÖ°uʧ®¤Yäƒ ²-fˆD¤éZ=Sþ•¦Ñ¼:²‹+m6¶ØùWècC&2JGdŒ€Õ· Ô‡‡ ^£!þÒð  âºKÌX­“œ$'Öu)Éø,hðzkøpÅ:>� æ­ÿB~Bá`m¬uëJ5½Ö»KÂõ,\Û™E¡åÉ&ü› ¨q,w©&¶ì¥šÔ¢ë‚ÏXm:0eIV,;«Ãôl  L)d+lz¤^²*”¬’œ–ý4×V« !RšVgýÆФ‰©ôÄÿGÀËê 6��Pas de titre...

Avez-vous une idée d'où peut venir le problème et comment le résoudre?

Merci d'avance pour votre précieuse aide.

Hors ligne

 

#2 26-10-2010 13:24:37

NewSky
Membre
Date d'inscription: 17-12-2007
Messages: 79

Re: Zend_Http_Client : Impossible de récupérer certaines pages web

Salut,

à vue d'œil, il semblerait que Zend_Http_Client n'arrive pas à décompresser la page...
Rajoute dans ta config :

Code:

$config = array(
    'adapter'      => 'Zend_Http_Client_Adapter_Socket',
    'useragent' => 'Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.10 (intrepid) Firefox/3.0.6',
    'maxredirects' => 5,
    'timeout'      => 30,

    'accept-encoding' => false
);

et vois ce que ça donne...

Hors ligne

 

#3 26-10-2010 13:28:15

NewSky
Membre
Date d'inscription: 17-12-2007
Messages: 79

Re: Zend_Http_Client : Impossible de récupérer certaines pages web

Au temps pour moi, il faut le setter pour le supprimer ! Avant de lancer la requête fait :

Code:

$client->setHeaders('accept-encoding');

Hors ligne

 

#4 26-10-2010 14:01:30

Davjack
Membre
Date d'inscription: 06-02-2009
Messages: 32

Re: Zend_Http_Client : Impossible de récupérer certaines pages web

J'ai essayé de rajouter

Code:

'accept-encoding' => false

et

Code:

$client->setHeaders('accept-encoding');

mais le problème reste le même... sad

Hors ligne

 

#5 26-10-2010 20:07:53

NewSky
Membre
Date d'inscription: 17-12-2007
Messages: 79

Re: Zend_Http_Client : Impossible de récupérer certaines pages web

Personnellement, avec ton code, j'ai le même problème que ce soit avec Google ou AlloCiné.

En supprimant ta config, Google fonctionne mais pas AlloCiné (d'ailleurs, en supprimant uniquement ton "useragent", Google fonctionne)

Je fais d'autres essais et te tiens au jus (si tu n'as pas trouvé avant)

@+

Hors ligne

 

#6 26-10-2010 20:29:28

Davjack
Membre
Date d'inscription: 06-02-2009
Messages: 32

Re: Zend_Http_Client : Impossible de récupérer certaines pages web

Effectivement, à force de faire des essais avec et sans config, je n'ai même pas remarqué que Google ne s'affichait pas correctement...
Merci pour ton aide
Je continu également à chercher de mon coté

Hors ligne

 

#7 30-10-2010 01:01:39

Davjack
Membre
Date d'inscription: 06-02-2009
Messages: 32

Re: Zend_Http_Client : Impossible de récupérer certaines pages web

Avec

Code:

echo $response->getBody();

ça fonctionne!

Hors ligne

 

#8 30-10-2010 10:43:01

NewSky
Membre
Date d'inscription: 17-12-2007
Messages: 79

Re: Zend_Http_Client : Impossible de récupérer certaines pages web

Effectivement !!
Zend_Http_Response::getBody() :

Code:

    /**
     * Get the response body as string
     *
     * This method returns the body of the HTTP response (the content), as it
     * should be in it's readable version - that is, after decoding it (if it
     * was decoded), deflating it (if it was gzip compressed), etc.
     *
     * If you want to get the raw body (as transfered on wire) use
     * $this->getRawBody() instead.
     *
     * @return string
     */
    public function getBody()
    {
        $body = '';

        // Decode the body if it was transfer-encoded
        switch (strtolower($this->getHeader('transfer-encoding'))) {

            // Handle chunked body
            case 'chunked':
                $body = self::decodeChunkedBody($this->body);
                break;

            // No transfer encoding, or unknown encoding extension:
            // return body as is
            default:
                $body = $this->body;
                break;
        }

        // Decode any content-encoding (gzip or deflate) if needed
        switch (strtolower($this->getHeader('content-encoding'))) {

            // Handle gzip encoding
            case 'gzip':
                $body = self::decodeGzip($body);
                break;

            // Handle deflate encoding
            case 'deflate':
                $body = self::decodeDeflate($body);
                break;

            default:
                break;
        }

        return $body;
    }

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages