Página 1 de 1

error al enviar datos por post

Publicado: 09 Abr 2010, 04:08
por taoru
hola, ando teniendo problemas para enviar datos con autoit.

comento mi idea:
quiero de mi aplicación enviar datos de un formulario y cargarlo en mi base de datos online.

ahora varias dudas:
1. ¿hay forma de enviar datos por post con autoit sin pasar por un formulario?
2. ¿donde puedo ver un tutorial o mas ayuda de las funciones de ie?
busque por la ayuda de autoit y no las encontré, asi que solo me estoy guiando de sus ejemplos.
pero no pude encontrar ningun texto que explique un poco mas, si alguien sabe algo (en lo posible en español), se lo agradeceré.

y 3. ¿que error estoy teniendo en mi código?

por lo pronto la unica forma que encontré es utilizar este algoritmo:

por un formulario en autoit pedir los datos, cargar un form con ie, cargar los datos, enviar el formulario, y guardar en la variable el resultado.
pero por alguna razón este código me tira error:

este es el código autoit que estoy usando:

Código: Seleccionar todo

#include <IE.au3>
$oIE = _IECreate ("http://localhost/f.html")
$oForm = _IEFormGetObjByName ($oIE, "form1")
$oQuery = _IEFormElementGetObjByName ($oForm, "msg")
_IEFormElementSetValue ($oQuery, "mensaje prueva")
$uQuery = _IEFormElementGetObjByName ($oForm, "txt")
_IEFormElementSetValue($uQuery, "texto prueva")
_IEFormSubmit ($oForm)
el código del formulario que quiero completar es este:

Código: Seleccionar todo

<form action='http://ww.jimobi.us/jimobi-bot.php' method='post' enctype='multipart/form-data' name='form1'>
<input name='user' type='hidden' value='miguel' />
<input name='item' type='hidden' value='google' />
<input name='msg' type='text' value='' />
<TEXTAREA COLS=20 ROWS=10 NAME="txt">
</TEXTAREA></p>

<p align='center'><input name='boton' type='submit' value='x'></p>
</form></p>
datos:
nombre del form: form1
datos a enviar:
msg (asunto del mensaje)
txt (texto del mensaje)

y el error que me tira es este:

AutoIt Error
Line 1205 (File "C:\Archivos de programa\AutoIt3\Include\IE.au3"):
Local $o_col = $o_object.elements.item($s_Name)
Local $o_col = $o_object.elements.item($s_Name)^ ERROR
Error: The requested action with this object has failed.

gracias!

Re: error al enviar datos por post

Publicado: 09 Abr 2010, 08:13
por Ximorro
Igual se está liando con el html y no lo está parseando bien.
¿Ese </p> que hay en medio del form después del Textarea es correcto? Hay uno al final que supongo que se abre antes del formulario, pero ese que está dentro debería abrirse dentro ¿no?

Re: error al enviar datos por post

Publicado: 10 Abr 2010, 11:55
por taoru
Ximorro escribió:Igual se está liando con el html y no lo está parseando bien.
¿Ese </p> que hay en medio del form después del Textarea es correcto? Hay uno al final que supongo que se abre antes del formulario, pero ese que está dentro debería abrirse dentro ¿no?
am, si...debe ser que solo tomé el código de ejemplo y no me fijé...perdón.
igual ya lo limpié y sigue tirando el mismo error...
dejo aqui el código del form html:

Código: Seleccionar todo

<form action='http://www.google.com.ar' method='post' name='form1'>
<input name='user' type='hidden' value='miguel' />
<input name='item' type='hidden' value='google' />
<input name='msg' type='text' value='' />
<TEXTAREA COLS=20 ROWS=10 NAME="txt">
</TEXTAREA>

<input name='boton' type='submit' value='x'>
</form>

Re: error al enviar datos por post

Publicado: 13 Abr 2010, 13:09
por taoru
sigo buscandole la forma, y no la encuentro...
hay alguna otra metodología para enviar datos por post directamente desde autoit?.
asi con php solo levanto las variables y listo.

si no me quedará buscar la dll para usar mysql, pero es medio peligroso que de acceso mysql, pero si no queda otra...

2 preguntas:

1. hay forma de enviar datos por post, tipo coneccion tcp o algo asi?, asi solo levanto por php?.
y 2.: de donde puedo bajar la dll y un ejemplo del uso de mysql (me interesaría ver como se hace la conección, una consulta simpre y verificar que la consulta a sido correcta).

muchas gracias!.

Re: error al enviar datos por post

Publicado: 13 Abr 2010, 13:42
por BasicOs
taoru escribió:sigo buscandole la forma, y no la encuentro...
hay alguna otra metodología para enviar datos por post directamente desde autoit?.
asi con php solo levanto las variables y listo.

si no me quedará buscar la dll para usar mysql, pero es medio peligroso que de acceso mysql, pero si no queda otra...

2 preguntas:

1. hay forma de enviar datos por post, tipo coneccion tcp o algo asi?, asi solo levanto por php?.
y 2.: de donde puedo bajar la dll y un ejemplo del uso de mysql (me interesaría ver como se hace la conección, una consulta simpre y verificar que la consulta a sido correcta).

muchas gracias!.
1.-Usando las funciones de TCP de autoit puedes hacerlo directamente (usando el protocolo a pelo).
2.-Con php es casi la mejor manera y las mas facil ya que llamas a la página con variables hacia el servidor, y el mismo php te devuelve la respuesta....(es trabajar con el texto prácticamente) Puedes ver tambien el post de http://www.emesn.com/autoitforum/viewforum.php?f=6 WebAutoit por si quieres aprender algo más del protocolo y demás. :smt023

3.-Busca mysql en el foro hay montones de hilos del tema, coge el que más se te adapte
Salu22:)

Re: error al enviar datos por post

Publicado: 13 Abr 2010, 17:39
por Chefito
Mira estas librerías:

Http.au3 de Greg "Overload" Laabs. Mira la función _HTTPPost.

WinHttp.au3 de trancexx. Mira la función _WinHttpOpenRequest.

Dejo las librerías adjuntas.

Saludos.