Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Riki_89D en 10 Mayo 2011, 14:05 pm



Título: Problema con Wininet
Publicado por: Riki_89D en 10 Mayo 2011, 14:05 pm
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
  1. HINTERNET Conexion = InternetOpen("Mozilla/30",INTERNET_OPEN_TYPE_PRECONFIG,0,0,INTERNET_FLAG_NO_CACHE_WRITE);
  2.    HINTERNET ConexionFija = InternetConnect(Conexion,"www.lawebdeconsulta.com",INTERNET_DEFAULT_HTTP_PORT,"","",INTERNET_SERVICE_HTTP,0,0);
  3.  
  4.  
  5.    HINTERNET Peticion = HttpOpenRequest(ConexionFija,"POST","/Index.php","HTTP/1.0",0,0,INTERNET_FLAG_NO_CACHE_WRITE,0);
  6.    char Datos[1024] = "Nombre=JoseLuis";
  7.    HttpSendRequest(Peticion,NULL,0,(LPVOID)(LPCSTR)Datos,sizeof(Datos));
  8.  


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


Título: Re: Problema con Wininet
Publicado por: Khronos14 en 10 Mayo 2011, 14:11 pm
Ten en cuenta, que los servidores UNIX distinguen mayúsculas de minúsculas en los nombres de los ficheros:

Código
  1. HINTERNET Peticion = HttpOpenRequest(ConexionFija,"POST","/Index.php","HTTP/1.0",0,0,INTERNET_FLAG_NO_CACHE_WRITE,0);
  2.  

Así que yo haría esto:

Código
  1. HINTERNET Peticion = HttpOpenRequest(ConexionFija,"POST","/","HTTP/1.0",0,0,INTERNET_FLAG_NO_CACHE_WRITE,0);
  2.  

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

Saludos.


Título: Re: Problema con Wininet
Publicado por: Riki_89D en 10 Mayo 2011, 15:56 pm
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 ?¿


Título: Re: Problema con Wininet
Publicado por: Queta en 10 Mayo 2011, 17:47 pm
Sí se puede trabajar con MySQL desde C/C++, pero usando la API de MySQL (http://c.conclase.net/mysql/index.php (http://c.conclase.net/mysql/index.php)).


Título: Re: Problema con Wininet
Publicado por: Riki_89D en 10 Agosto 2011, 10:30 am
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
  1.  
  2.  
  3. HINTERNET Sesion,Request,Conection;
  4. char Header[] = "Content-Type: application/x-www-form-urlencoded";
  5. char DataLogin[30] = "user=Riki_89D&passwrd=cracked";
  6. char DataPost[81] = "subject=Tema_de_prueba&message=Este_tema_es_de_pruebassaaaaaaaaaaaaaaaaaaaaaaaaaa";
  7. const wchar_t* AcceptType[] = {L"text/xml",L"application/xhtml+xml",L"application/xml;q=0.9",L"*/*;q=0.8"};
  8. void *Buffer;
  9. DWORD Flag;
  10.  
  11.  
  12. Sesion = InternetOpen("Mozilla/5.0",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
  13. Conection = InternetConnect(Sesion,"foro.elhacker.net",INTERNET_DEFAULT_HTTP_PORT,NULL,NULL,INTERNET_SERVICE_HTTP,0,0);
  14. Request = HttpOpenRequest(Conection,"POST","/login2.html","HTTP/1.1",NULL,(LPCTSTR *)AcceptType,INTERNET_FLAG_KEEP_CONNECTION,0);
  15. HttpSendRequest(Request,Header,strlen(Header),DataLogin,30);
  16.  
  17.  
  18.  
  19. 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);
  20. HttpSendRequest(Request2,Header,strlen(Header),DataPost,81);
  21.  
  22. printf("Codigo de error: %u", GetLastError(), "\n\n");
  23. system("pause");
  24.  


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


Título: Re: Problema con Wininet
Publicado por: Riki_89D en 11 Agosto 2011, 10:10 am
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