les cuento, programe lo siguiente en php usando curl
Código:
Y bueno el $output lo trabajo con expresiones regulares y etc...$ch = curl_init(http://pagina.web/Result.cfm); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, array("registro"=>"354")); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); curl_close($ch);
El problema que tengo es que necesito hacer lo mismo pero en Python 3, por lo cual tengo entendido que debo usar httplib2, pues bueno intente hacerlo de la siguiente manera
Código:
Pero desde Result.cfm me informa que no han sido enviado el contenido de POST, osea que no recepciona el valor de registro=354.import httplib2 from urllib.parse import urlencode h = httplib2.Http(".cache") data=dict(registro="354") resp, content = h.request("http://pagina.web/Result.cfm","POST",urlencode(data)) f = open("salida.txt","wb") f.write(content) f.close
Bueno pensé que seria por que existiría quizás algún filtro y estuve buscando como cambiar el user-agent y las demás variables que en curl se describen pero no supe como hacerlo en Python-httplib2.
Me pueden ayudar??, algo estaré haciendo mal??