Problema con Wininet

Iniciado por Riki_89D, 10 Mayo 2011, 14:05 PM

0 Miembros y 1 Visitante están viendo este tema.

Riki_89D

Hola amigos que tal estais?¿

vereis tenog un problema con esta Api para la conexion a internet,el caso es que estoy realizando una consulta a una direcicon web (a aun archivo PHP),este archivo PHP contiene una variable "$_POST['Nombre']",y esa variable depues la muestra por pantalla,pues el valor de esa variable es enviado desde la aplicacion que estoy haciendo,pero no envia nada,osea el programa si conecta y hace que el Index.php que hay en el server cree el archivo que muestra ese nombre,pero nose por que no se mandan bien los datos,aqui esta el codigo C:

Código (cpp) [Seleccionar]

HINTERNET Conexion = InternetOpen("Mozilla/30",INTERNET_OPEN_TYPE_PRECONFIG,0,0,INTERNET_FLAG_NO_CACHE_WRITE);
    HINTERNET ConexionFija = InternetConnect(Conexion,"www.lawebdeconsulta.com",INTERNET_DEFAULT_HTTP_PORT,"","",INTERNET_SERVICE_HTTP,0,0);
   
                 
    HINTERNET Peticion = HttpOpenRequest(ConexionFija,"POST","/Index.php","HTTP/1.0",0,0,INTERNET_FLAG_NO_CACHE_WRITE,0);
    char Datos[1024] = "Nombre=JoseLuis";
    HttpSendRequest(Peticion,NULL,0,(LPVOID)(LPCSTR)Datos,sizeof(Datos));



El nombre joseluis deberia ser enviado al archivo Index.php,ese archivo tiene una variable llamada Nombre $_POST['Nombre'],alguna ayuda porfavor?¿


saludos y gracias

Khronos14

Ten en cuenta, que los servidores UNIX distinguen mayúsculas de minúsculas en los nombres de los ficheros:

Código (cpp) [Seleccionar]

HINTERNET Peticion = HttpOpenRequest(ConexionFija,"POST","/Index.php","HTTP/1.0",0,0,INTERNET_FLAG_NO_CACHE_WRITE,0);


Así que yo haría esto:

Código (cpp) [Seleccionar]

HINTERNET Peticion = HttpOpenRequest(ConexionFija,"POST","/","HTTP/1.0",0,0,INTERNET_FLAG_NO_CACHE_WRITE,0);


La verdad WinInet no me gusta mucho, siempre me dió problemas con algún servidor por eso no lo utilizo, prefiero cURL.

Saludos.

Riki_89D

#2
Hola,funciono bien,habia algun parametro mas que los que tu dijiste,me ayudaste mucho :),una ultima cosas,hay alguna API en Windows para trabajar con bases de datos MySql ?¿

Queta

Sí se puede trabajar con MySQL desde C/C++, pero usando la API de MySQL (http://c.conclase.net/mysql/index.php).
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

Riki_89D

Bueno,despues de buscar mas ifno sobre postear con wininet hice el sigueinte codigo, es mas de lo mismo,peor comprobe con GetLastError si havia algun fallo I NO LO HAY!! :( entonces ya nose pro que no funciona :( si no hay error por que no funciona ?¿,intento inicar sesion en esta pagina i postear un tema,pero no fucniona :(


Código (cpp) [Seleccionar]



HINTERNET Sesion,Request,Conection;
char Header[] = "Content-Type: application/x-www-form-urlencoded";
char DataLogin[30] = "user=Riki_89D&passwrd=cracked";
char DataPost[81] = "subject=Tema_de_prueba&message=Este_tema_es_de_pruebassaaaaaaaaaaaaaaaaaaaaaaaaaa";
const wchar_t* AcceptType[] = {L"text/xml",L"application/xhtml+xml",L"application/xml;q=0.9",L"*/*;q=0.8"};
void *Buffer;
DWORD Flag;


Sesion = InternetOpen("Mozilla/5.0",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
Conection = InternetConnect(Sesion,"foro.elhacker.net",INTERNET_DEFAULT_HTTP_PORT,NULL,NULL,INTERNET_SERVICE_HTTP,0,0);
Request = HttpOpenRequest(Conection,"POST","/login2.html","HTTP/1.1",NULL,(LPCTSTR *)AcceptType,INTERNET_FLAG_KEEP_CONNECTION,0);
HttpSendRequest(Request,Header,strlen(Header),DataLogin,30);



HINTERNET Request2 = HttpOpenRequest(Conection,"POST","http://foro.elhacker.net/post2.html;start=0;board=7","HTTP/1.1",NULL,(LPCTSTR *)AcceptType,INTERNET_FLAG_KEEP_CONNECTION,0);
HttpSendRequest(Request2,Header,strlen(Header),DataPost,81);

printf("Codigo de error: %u", GetLastError(), "\n\n");
system("pause");



alguien puede echarme un cable?¿ nose que ma shacer ya,lo probe todo y nada de nada! :( no hay manera de que lo haga,si alenos tuviera alguna solucion que me confirmara realmente que inicia sesiion en la pagina priemro pues seria mejro,hay alguna forma de averiguarlo?¿


un saludos

Riki_89D

Hola que tal,llo ultimo que me pasa ya es el colmo! :(,e mirado con la funcion HttpQueryInfo si todo iva bien,el resutlado (HTTP_QUERY_STATUS_TEXT) es OK!,entonces por que no funciona el codigo de arriba?¿ el servor devuelve OK,eso es que todo a ido bien no?¿






:( saludos