Hola<br><br>Suena interesante, estaría bien darle un vistazo :D<br><br>La documentación para saber como utilizarlo es a partir de la de curl y sobretodo libcurl<br><br><a href="http://curl.haxx.se/docs/manual.html">http://curl.haxx.se/docs/manual.html</a><br>
<a href="http://curl.haxx.se/libcurl/c/libcurl-tutorial.html">http://curl.haxx.se/libcurl/c/libcurl-tutorial.html</a><br><br>Las opciones disponibles las puedes ver en: <br><a href="http://curl.haxx.se/libcurl/c/curl_easy_setopt.html">http://curl.haxx.se/libcurl/c/curl_easy_setopt.html</a><br>
(supongo que tendrías que mirar el código de pycurl por si hay alguna no implementada, yo no lo he mirado)<br><br>un ejemplo (con json, no xml) de como loginarte con cookies seria:<br><br>import os.path<br>import time<br>
import pycurl<br>import urllib<br>import StringIO<br><br>url = &#39;<a href="http://localhost/login/">http://localhost/login/</a>&#39;<br><br>cookie_file = os.path.join(&#39;tu_ruta&#39;, &#39;cookies.txt&#39;)<br><br>data = urllib.urlencode({ <br>
        &#39;username&#39;: &#39;usuario&#39;,<br>        &#39;password&#39;: &#39;elquesea&#39;<br>        })<br><br><br>output = StringIO.StringIO()<br>header = StringIO.StringIO()<br><br># creas el objeto<br>c = pycurl.Curl()<br>
<br># le pones las opciones que necesites (ver el manual, sobretodo de libcurl)<br><br>c.setopt(pycurl.URL, url)<br>c.setopt(pycurl.VERBOSE, 1)<br>c.setopt(pycurl.HTTPHEADER, [<br>     &quot;X-Requested-With:XMLHttpRequest&quot;, <br>
     &quot;Accept: aplication/json&quot;])<br>c.setopt(pycurl.POSTFIELDS, data)<br>c.setopt(pycurl.COOKIEFILE, cookie_file)<br>c.setopt(pycurl.WRITEFUNCTION, output.write)<br>c.setopt(pycurl.HEADERFUNCTION, header.write)<br>
<br># llamas a la url<br>c.perform()<br><br># Compruebas cabeceras y lo que necesites<br>print &#39;-&#39;*10<br>print &quot;URL &quot;, c.getinfo(pycurl.EFFECTIVE_URL)<br>print &quot;HTTP-code:&quot;, c.getinfo(c.HTTP_CODE)<br>
print &quot;Total-time:&quot;, c.getinfo(c.TOTAL_TIME)<br>print &quot;Download speed: %.2f bytes/second&quot; % c.getinfo(c.SPEED_DOWNLOAD)<br>print &quot;Document size: %d bytes&quot; % c.getinfo(c.SIZE_DOWNLOAD)<br>print &quot;Effective URL:&quot;, c.getinfo(c.EFFECTIVE_URL)<br>
print &quot;Content-type:&quot;, c.getinfo(c.CONTENT_TYPE)<br>print &quot;Namelookup-time:&quot;, c.getinfo(c.NAMELOOKUP_TIME)<br>print &quot;Redirect-time:&quot;, c.getinfo(c.REDIRECT_TIME)<br>print &quot;Redirect-count:&quot;, c.getinfo(c.REDIRECT_COUNT)<br>
epoch = c.getinfo(c.INFO_FILETIME)<br>print &quot;Filetime: %d (%s)&quot; % (epoch, time.ctime(epoch))<br>print &#39;-&#39;*10<br><br># Siempre va bien leer el header a pelo<br><br>
print header.getvalue()<br><br>#Y por ultimo la respuesta guardada en la variable output<br><br>value = output.getvalue()<br>if value.strip():<br>    print value<br><br>c.close()<br><br>Eso es todo, aunque hay que tener en cuenta el csrftoken, https y el resto de medidas de seguridad que tenga el webchat en cuestión<br>
<br>Ya nos contaras como te va!!<br><br><br>Un saludo<br><br>-- <br>//////////////////////////////////////////////////////////////////////////<br>Eduard Díaz<br><a href="http://www.scopia.es">www.scopia.es</a><br>SCOPIA VISUAL INTERFACES SYSTEMS S.L.<br>
Barcelona<br>Tel. 625 055 126, 933 171 771<br>//////////////////////////////////////////////////////////////////////////<br><br><br><div class="gmail_quote">El 13 de enero de 2011 16:47, Raúl Alexis Betancor Santana <span dir="ltr">&lt;<a href="mailto:rbetancor@gmail.com">rbetancor@gmail.com</a>&gt;</span> escribió:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div>Hola a todos,</div><div><br></div><div>estoy intentando hacer un pequeño script-pasarela, que se conecte a un</div>
<div>chat web y me pase los mensajes que allí se publican a mi servidor</div><div>jabber.</div><div><br>
</div><div>La parte jabber ya la tengo terminada, ahora me falta la parte de</div><div>conexión al chat web.</div><div><br></div><div>La web a la que quiero conectar usa Ajax-Chat, lo cual facilita</div><div>bastante las cosas, puesto que una vez autenticado, solo tengo que</div>

<div>consultar una URL concreta y la respuesta es siempre un xml con los</div><div>mensajes nuevos.</div><div><br></div><div>El problema viene en que necesito hacer un HTTPRequest tipo POST a la</div><div>url de loging y guardar todas las cookies, para luego seguir</div>

<div>reenviandolas en cada petición a la url de los mensajes.</div><div><br></div><div>He estado mirando pycurl (con curl a pelo no consigo que me guarde las</div><div>cookies en un fichero), pero la documentación es pésima.</div>

<div><br></div><div>¿alguien tiene algún ejemplo o sabe donde pillarlo?, buscando por</div><div>google, he encontrado varios, en todos los casos, no consigo guardar</div><div>las cookies que devuelve el site tras la autenticación correcta.</div>

<div><br></div><div>Saludos</div><div><br></div>
<br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div><br>