realbasic-nug.fr
[Top] [All Lists]

Re: HTTPSocket et ? dans l'URL

To: REALbasic NUG French <realbasic-nug dot fr at lists dot realsoftware dot com>
Subject: Re: HTTPSocket et ? dans l'URL
From: Powel <compute at e-topics dot net>
Date: Tue, 23 Oct 2007 19:42:38 +0200
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug dot fr at lists dot realsoftware dot com
References: <9B52C982-8151-11DC-93DE-000A27AE3336 at sucellus dot net> <CB89038A-50F2-4CA6-87FE-4066A6362FE7 at e-topics dot net>
Dans la continuité, comment se fait-il que HTTPSocket retourne un résultat sous cette forme pour l'URL suivante http://www.elpais.com/articulo/sociedad/Insultar/blog/paga/elpeputec/ 20071023elpepisoc_1/Tes?print=1 ã›Ymo€8˛ú˝SW'M,YN∫mìÿãl‚Ìzë7$nã‚Ó–m± +ã*E9ı.ˆ«Óÿá˝7CR≤î4›-p‰ÖCÁç39Œ·ììã„… ˚À¸09;ÖÀ7flùéè¡Î¡ª›„ 8ôúÿÖ=ø¬D±¨Z»å•A0:˜?Ú≠Û˝ ∏ΩΩıow}©Ê¡‰ *HÙ"› R) Ó«:ˆÜè“ú˘ÀYL\3†›]˛±ÀÅw,3Õ3›ù¨rÓAd©Åߢ'm at î0Up=ÖÏæ| ˘¸U74íµ–)éN/è∆◊~$áÅù¡•Td?A¢¯l‡QQ‚&óJ≥X§)+|úÒ at Òt‡zïÚ"·\ {†QøSkÙQäœE°ï¸*)('p¿·T∆+;∫>æ_N‡Ù˸ıõ£◊£Å˜#[≤ÎHâ\ìã≥2ã (ÏpsɲK˘ì‡õ[X≤¥ƒ?¸S./v g:ŸÅX.ò»v†‡Q©¯¸Ú¯ ´$Ìv Äm˛ÊEƒræiƒm¡6Ò”◊ʶìºflÇwPȱ[ψ¡ÛZ[»«OC√LÉ˚ú÷N«k √má˜˘+ ø%<Àu at L ±å f
fÅÛ±ˆ◊?mrfi
d#DqÑ˚ÓH:®sLÒ©ºzmäë—fi»YÃ?]Ã6—J„ºŸem3ÿtúËÜN1|nws[s„ìÙ∂0Ât©2» 45øO fi∂=Ä~mœ‚˚~5 ıvÏÆµïfá±—
u"?Ÿ\'ÜœQf.?pµ(ßX"õ;k+˜›∂í≥µeœCÃ6õ'—·iŒDqiïv∂Ú
ïˇR%Ä;
?øÖ¶˘f˙jVGK‘NÏ£íâX ˇv∆ñbŒ¥T~û2=ìj—òby~,c~éߪ]DäÛÃø1Z›ô$ÂÏÜp¬#˘z/ °øªˇ¸~√õ…qg߇è’I‘q∂¥ åb±/óG˜Ÿ¥êi©˘Åñ˘~/ˇtêÚô6£v?ƒQ¬≈<— f∏ÖòäTË’~"‚òg?w«tÑ˚ ê≤l^≤9o‚H˘[®ÙWäaütªè’Ÿq´∆∂s(s(T4®`û¢ÈÁJ }$?˘!¨€A.>q\MÚo ±2\)©ˆz{O]Y[¶ße¡’†≥˝©owûCm Êä‚jª”ÌvÛoÆNâïe(˘œ_¸^9j” ̬Ê÷≥∞G_(÷“Åz`CjÜS©b4… ÎyCshºôî¸CtªîÅÕó"pÒ„ |?>ªhfŒŒ«ì7W£∆‘5ÓòiñÆ çyÃa…UAÈ?¯aË√±ÃWäTC¯Í’ã.ñ” ∏Xd±Ô≤q˘p&ëÕ$`ûäîMSLC „π!›äøS˛ÖÙ˜ÏäCå6˘
oÿtÔKõá∂>
....

....alors que le résultat est normal pour cette URL :
http://www.elpais.com/articulo/sociedad/Discovery/despega/incidentes/ Florida/elpepusoc/20071023elpepusoc_7/Tes?print=1

<!DOCTYPE html
    PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
    \"http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\";>

<html xmlns=\"http://www.w3.org/1999/xhtml\"; xml:lang=\"en\">
<head>
        <title>New XHTML 1.0 Transitional Compliant Page</title>
<meta name=\"Description\" content=\"El transbordador espacial &lt;i&gt;Discovery&lt;/i&gt; ha despegado sin incidentes este martes de Cabo Ca&ntilde;averal (Florida), para iniciar una misi&oacute;n de 14 d&iacute;as en la Estaci&oacute;n espacial Internacional (EES). Apenas nueve minutos despu&eacute;s del despegue, la aeronave ha entrado en &oacute;rbita terrestre y ya enfila el rumbo hacia la EES. \" /> <meta name=\"Keywords\" content= \"actualidad,noticias,sociedad,personajes\" />
        <meta name=\"Generator\" content=\"Prisacom S.A.\" />
        <meta name=\"Origen\" content=\"El Pais\" />
        <meta name=\"Author\" content=\"El País S.L. - Prisacom S.A.\" />
        <meta name=\"Locality\" content=\"Madrid, España\" />
        <meta name=\"lang\" content=\"es\" />
        <meta name=\"revisit-after\" content=\"1 days\" />
        <meta name=\"robots\" content=\"INDEX,FOLLOW\" />
<meta name=\"keywords\" content= \"Discovery,despega,incidentes,Florida\" /> <meta http-equiv=\"Content-Type\" content=\"text/ html;charset=iso-8859-15\" /> <link href=\"http://www.elpais.com/rss.html\"; rel=\"alternate\" type= \"application/rss+xml\" title=\"RSS ELPAIS.com\" /> <link rel=\"stylesheet\" href=\"/css/noticia_print.css? update=3200703221307\" type=\"text/css\" /> <script type=\"text/javascript\" src=\"/js/publi.js? update=200708310506\"></script> <script type=\"text/javascript\" src=\"/js/util.js? update=200708301332\"></script> <script type=\"text/javascript\" src=\"/js/rules_BH.js? update=200710031535\"></script>
<style type=\"text/css\">
</style>
</head>
<body>
        <!-- OJD INI -->
<SCRIPT LANGUAGE=\"JavaScript\">
function __setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + \"=\" + escape(value) +
      ((expires) ? \"; expires=\" + expires : \"\") +
      ((path) ? \"; path=\" + path : \"\") +
      ((domain) ? \"; domain=\" + domain : \"\") +
      ((secure) ? \"; secure\" : \"\");
  document.cookie = curCookie;
}
....

Là, je suis un peu perplexe. Cela doit être simple, mais quelque chose m'échappe. Peut-être est-ce lié à l'hexa mais dans ce cas, pourquoi une URL a ce problème et pas l'autre alors que les deux ont un "?". Pourtant, j'ai envie d'insister, car HTTPSocket est beaucoup mieux intégré à RB que Curl et quand ça marche, c'est très efficace.

Powel




Le 23 oct. 07 à 14:50, Powel a écrit :

Excellent. Merci beaucoup. C'est très efficace et simple à gérer.
RealSoftware devrait implémenter cela dans HTTPSocket. C'est probablement ce que fait Curl puisque les ? ne lui posent pas de problème.
Powel


Le 23 oct. 07 à 12:20, roland poulard a écrit :

Et en remplacant le ? par la sequence %3F ( 3F est le code hexa de ? )


Le lundi, 22 oct 2007, à 20:26 Europe/Paris, Compute a écrit :

Bonjour,

J'ai déjà posé une question sur le sujet, mais je ne suis pas convaincu de la réponse.

Mon problème est le suivant :

Avec HTTPSocket, il est possible de charger des pages. Il s'avère qu'à la différence de Curl, et ce pour une raison qui m'échappe, HTTPSocket refuse les url du type :
http://www.elpais.es/rss/rss_section.html?anchor=elpporcul

Plus précisément, il refuse les url qui comporte un ? sans un slash "/?". Or, ce type d'URL est très courant.


Il suffit en apparence de vérifier l'URL et de mettre un slash s'il n'y en a pas. Mais ce n'est pas une solution sérieuse, car cela n'est plus la même URL et certains sites y sont sensibles. Voici un exemple > : Prenons l'URL d'un article du quotidien espagnol ElPais. Le format d'impression comporte l'extension ?print=1. Or, si l'on met un slash avant le ?, le site d'ElPais supprime l'extension et le contenu de la page est donc différent.
Ex :
http://www.elpais.com/articulo/cultura/Definitivo/Poeta/Nueva/ York/elpepucul/20071021elpepicul_1/Tes?print=1 http://www.elpais.com/articulo/cultura/Definitivo/Poeta/Nueva/ York/elpepucul/20071021elpepicul_1/Tes/?print=1
ne pointent pas vers la même page !!!

Quelqu'un peut-il m'expliquer pourquoi HTTPSocket refuse les URL du type :
http://www.elpais.es/rss/rss_section.html?anchor=elpporcul

Existe-t-il une solution qui permette de charger une page du type :
http://www.elpais.com/articulo/cultura/Definitivo/Poeta/Nueva/ York/elpepucul/20071021elpepicul_1/Tes?print=1

Powel








<Prev in Thread] Current Thread [Next in Thread>