He programado parte de un bot capaz de obtener archivos de una web (en este caso romnation) leyendo la página, guardando cookies y revelando la Captcha de forma automática, el problema aparece al querer enviar la información recogida. En la página es un form HTML como este.
Código
<form name="downloadform" method="post" action="http://download.romnation.net/download.php?PHPSESSID=89bea6eeb54aacd1fa80f135d923478c" onsubmit="return validate()"> <input type="hidden" name="field" value="rom"> <input type="hidden" name="id" value="50384"> <input type="hidden" name="download" value="1"> <input type="hidden" name="dir" value="genesis2"> <input type="hidden" name="filename" value="Land Stalker (U).7z"> </form>
dado que las réplicas leas genero con cURL/wget, la forma más sencilla de replicar esto que se me ocurrió es cambiar el método POST por GET, obteniendo una URL del estilo ...download.php?param1=123¶m2=3321... sin embargo el servido me dice que he olvidado escribir el código de confirmación, incluso, en la própia página web, simplemente cambiando el post por get me da el error.
Creo que el problema tiene algo que ver con onsubmit="return validate()"[/i] pero no se lo que, los javascrips no hacen nada relevante, ya que la autenticación de la captcha se puede realizar con Lynx pero creo que se me escapa algo referente a ese form.
Alguien sabe como replicar o tiene alguna idea de como generar con cURL/wget la petición del archivo que genera el form antes descrito?
<edit>
El bot en cuestión consiste en una serie de scrips bash, aplicaciones y algo de código propio, que se encargan de realizar el trabajo.
Debian Lenny/sid [testing/unstable] linux x64