Autor
|
Tema: Ayuda envío archivo a web con C vía http (Leído 26,732 veces)
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
|
Re:
« Respuesta #40 en: 27 Julio 2014, 14:11 pm » |
|
Pásame por mp algun dato de tu server, y si quieres, luego lo intento. Si va, te doy la cabecera. Sinó, a lo mejor es cosa del php.
|
|
|
En línea
|
|
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Gracias a ambos por la respuesta, te he enviado un mp ivancea, pero no me aparece en la bandeja de salida, lo he vuelto a intentar y me ha dicho que ya lo había mandado antes, pero sigue sin aparecer nada xD
Respecto a lo del servidor local veo que es una buena idea, aunque no sabemos si se comportará por igual que el server web que tengo, de todas formas mañana lo probaré haber que tal, según parece es igual que el server web, pongo contenidos en la carpeta como hacía en public_html y conecto a localhost.
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Estuve probando con mis clases http, y mirando las cabeceras del navegador, y esto es lo necesario para enviar: POST /XXX HTTP/1.1 Host: XXX Content-Type: application/x-www-form-urlencoded Content-Length: 29
nombre=archivo&contenido=info Así debería ir. Creo que fuí yo el que antes propuso lo de quitar el content-type, así que lo siento xD
|
|
« Última modificación: 28 Julio 2014, 01:21 am por ivancea96 »
|
En línea
|
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Te llegaron mis mensajes privados? Es que no me aparece nada en la bandeja de entrada, he separado el script para subir archivo del index.php, esta en el directorio public_html, y se llama script.php, tiene esto: <?php $nombre=htmlspecialchars($_POST["nombre"]); $contenido=htmlspecialchars($_POST["contenido"]); $fp=fopen("./archivos/" . $nombre . ".a","at"); fwrite($fp,$contenido); fclose($fp); ?> Ahora conecto a ese script, lo que tengo en el post es esto: len=strlen("nombre=post_ok&contenido=exito"); itoa(len,cad,10);
strcpy(buffer,"POST /script.php HTTP/1.0\r\n"); strcat(buffer,"Host: mipagina.freedom.com\r\n"); //strcat(buffer,"Referer: http://www.mipagina.freedom.com/index.php\r\n"); strcat(buffer,"Content-type: application/x-www-form-urlencoded\r\n"); strcat(buffer,"Content-length: "); strcat(buffer,cad); strcat(buffer,"\r\n\r\n"); strcat(buffer,"nombre=post_ok&contenido=exito"); printf("%s\n",buffer); Pero no sube archivo al ejecutar el programa sigue sin ir xd
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Asegúrate de que le llega. Haz que tu php por ejemplo, escriba en un archivo cuando alguien se le conecta.
Descarta el PHP. Este es correcto.
Existe la posibilidad de que no se envíe bien, no se.
Prueba a poner HTTP/1.1.
No se que puede pasar.
|
|
|
En línea
|
|
|
|
daryo
|
probaste copiar todas las cabezeras del navegador? como puse en el comentario anterior
|
|
|
En línea
|
buenas
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
He probado a crear un archivo prueba.php que escribe en un archivo prueba.a de tal forma para comprobar que llega información: <?php $prueba=htmlspecialchars($_POST["prueba"]); $fp=fopen("./archivos/prueba.a","wt"); fwrite($fp,$prueba); fclose($fp); ?>
Sin éxito, puse el 1.1 y nada ni una variable coge, te llegaron los mp ivancea? xD Ahora respecto a lo de daryo no se como va eso de las cabeceras del navegador, la verdad acabo de instalarme una extension en el filezilla que pusistes, y para que me vale eso? No pude ver ninguna cabecera de POST, de todas formas no es necesario pues el programa C debería ser capaz de enviar datos a la web sin necesidad de intermediarios. Que cojones me voy a istalar el wire haber que sale xD... Edito: Puedo verificar que reconoce conexiones a la ip del servidor TCP puerto 80, hay también paquetes de respuesta del server, pero no consigo encontrar la cabecera en ningún paquete.
|
|
« Última modificación: 29 Julio 2014, 01:01 am por Kaxperday »
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
daryo
|
calma calma xD te lo dire por pasos para las extensiones para firefox(no hay filezillas xD) que te pase: 1.una te servira para hacer la peticion post por el navegador(hackbar para verla presiona F9 dale click a enable post data pones las variables y le das execute) eso enviara por post las variables.
2. con la otra para ver las cabezeras que envia el navegador(live http header)presiona alt en el menu herramientas live http headers te saldra una ventanita y cuando recarges la pagina del navegador o le des execute en la extension del hackbar te mostrara todas las cabezeras
3.esas cabezeras serian las que luego copiarias tal cual en tu programa
en cuanto a lo de wireshark lo dije como opcion secundaria es un poco mas complicado pero es casi lo mismo en el wireshark en filtros le das http luego con el navegador que prefieras abres la web envias la petiicion y el paquete que la ip concuerde lo analisas.
|
|
|
En línea
|
buenas
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Aaaaamigo ya se porque no las veía porque la extensión lo que hace es mostrarte lost GET y POST que se realizan en el navegador, es decir hay que cargar al menos páginas para que aparezcan esas cabeceras, me fui a hotmail.com por ejemplo y me salieron muuchos POST y GET como cosa mala, aquí pique uno: POST / HTTP/1.1 Host: ocsp.digicert.com User-Agent: Mozilla/5.0 (Windows XX 9.5; WOW64; rv:29.0) Gecko/20100101 Firefox/28.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Content-Length: 115 Content-Type: application/ocsp-request Connection: keep-alive 0q0o0M0K0I0 + Lo que hace darme cuenta de que parece que sea necesario cosas como el agente de navegación, idioma, y demás de todas formas este que he pillado no es de "application/x-www-form-urlencoded" asi que no creo que tenga que ser en lo demás igual, bueno sigo indagando. Edito: Nótese que esta linea: Nosotros teníamos POST /script.php HTTP/1.1 Haciendo referencia al archivo que ejecutará el php, allí no hace referencia a nada, quizás sea index.php por defecto, sino que php recogerá sus variables. Edito: Acabo de usar el programa que muestra los GET y POST que me dijiste en en el mozilla xD, y probé con una busqueda en google, entonces mostraba las cabecera, wireshark también las mostraba, pero cuando ejecuto mi programa no aparece la cabecera por ningún lado. Raro.
|
|
« Última modificación: 29 Julio 2014, 01:30 am por Kaxperday »
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Messenger.UIAutomation ¿Como envio un archivo?
Scripting
|
markus_bitman
|
3
|
3,368
|
2 Febrero 2010, 08:58 am
por Tyrz
|
|
|
[C] Envió de archivo binario por HTTP
Programación C/C++
|
yeikos
|
6
|
4,442
|
4 Mayo 2010, 23:45 pm
por yeikos
|
|
|
¿Como genero un archivo con un nombre por defecto y lo envió por ftp?
Scripting
|
sabeeee
|
3
|
2,778
|
4 Febrero 2011, 19:35 pm
por Edu
|
|
|
Como automatizar el envio de cabeceras HTTP ???
« 1 2 »
Desarrollo Web
|
cybero
|
10
|
6,550
|
28 Abril 2012, 18:16 pm
por _teiki
|
|
|
Envio de archivo sin nombre Telegram C#
.NET (C#, VB.NET, ASP)
|
rigorvzla
|
2
|
3,645
|
27 Junio 2018, 04:29 am
por rigorvzla
|
|