Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/08/2014, 06:17
ArgentinaIRC
Invitado
 
Mensajes: n/a
Puntos:
Pregunta ¿Cómo puedo enviar un campo hidden con la librería mechanize?

Hola amigos/compañeros/Administradores/Moderadores/usuarios!!

Un gusto nuevamente por aquí, bueno después de un tiempo retomo esta tarea de aprender y programar, ya que venía muy saturado, pero ya estoy mejor.

Bueno les comento, estoy queriendo crear una aplicación, un buen proyecto que ayudará a muchísimas personas, pero lamentablemente hay un palo en la rueda, tengo practicamente todo casi listo, pero hay algo que no lo puedo resolver, leí por entero e hice muchas pruebas, me pasé horas y días intentando, pero aún no puedo lograrlo, también probé con la librería requests, pero tampoco tube éxito.

Para comenzar a programar mi aplicación, necesitaría terminar esto que no puedo lograrlo, bueno aquí va.

Lo que intento hacer es leer una página web, extraer su contenido y enviar por método POST todos los datos, estos datos son de un formulario (no son de registro, son de envío), todo me sale bien, pero el único problema que tengo, es que esa web tiene campos "hidden" osea ocultos, por lo que no sé como puedo enviar esos datos ocultos por método POST, todo me sale bien en el formulario, osea yo utilizo la librería mechanize y logro enviar todos los datos del fomulario, pero cláro al no enviar los datos "hidden", es como si no hiciera nada, he intentado con mechanize hacerlo, pero a la hora de intentar establecer los valores de esos campos hidden, el programa me larga error, el error es porque es "un control de sólo lectura", por lo que eso me detiene, no sé como puedo lograrlo.

por ejemplo para enviar este campo hidden uso esto:

Código Python:
Ver original
  1. main_browser["btn_send"] = "SEND"

y para enviar algo del formulario uso esto:

Código Python:
Ver original
  1. main_browser["MESG_TXT"] = "Hola"

obviamente, tiene un par de campos más, tanto hidden como normales, pero los que me joden son esos hidden.
Cuando intento enviar esto:

Código Python:
Ver original
  1. main_browser["btn_send"] = "SEND"

me da este error:

ValueError: control 'btn_send' is readonly

y ese mismo error me da con los demás campos hidden.

Aquí dejo todos los campos hidden que hay que enviar:

Código HTML:
Ver original
  1. <input type="hidden" name="form_flag"/>
  2. <input type="hidden" name="Snb"/>
  3. <input type="hidden" name="subname"/>
  4. <input type="hidden" name="sig"/>
  5. <input type="hidden" name="msgtext"/>
  6. <input type="hidden" value="ht4" name="form"/>
  7. <input type="hidden" value="10" name="size"/>
  8. <input type="hidden" value="SEND" name="btn_send"/>
  9. <input type="hidden" name="historico"/>
  10. <input type="hidden" name="Filename" value=""/>
  11. <input type="hidden" name="FormValidar" value="novalidar"/>

¿Cómo podría solucionar este problema?

Agradezco de corazón al que me pueda ayudar, desde ya muchas gracias y que tengan buen día. Un abrazo a todos.

Última edición por ArgentinaIRC; 07/08/2014 a las 06:30