zoukankan      html  css  js  c++  java
  • JAVA,模拟HTTP登录(略有修改) ----转载自http://zhoujingxian.iteye.com/blog/439738

    /*
     * 网上的一个模拟登录或者模拟注册程序
     * 2013-8-5
     */
    package Socket_Http;
    
    import java.io.BufferedReader;   
    import java.io.IOException;   
    import java.io.InputStream;   
    import java.io.InputStreamReader;   
    import java.io.OutputStreamWriter;   
    import java.net.URL;   
    import java.net.URLConnection;   
      
    public class TestPost {   
      
        public static void testPost() throws IOException {   
      
            //连接地址
            String surl = "http://www.scnutn.com/ci/index.php/CLogin/Register";
            
            /**  
             * 首先要和URL下的URLConnection对话。 URLConnection可以很容易的从URL得到。比如: // Using  
             *  java.net.URL and //java.net.URLConnection  
             */  
            URL url = new URL(surl); 
            URLConnection connection = url.openConnection(); 
            
            /**  
             * 然后把连接设为输出模式。URLConnection通常作为输入来使用,比如下载一个Web页。  
             * 通过把URLConnection设为输出,你可以把数据向你个Web页传送。下面是如何做:  
             */  
            connection.setDoOutput(true);   
            /**  
             * 最后,为了得到OutputStream,简单起见,把它约束在Writer并且放入POST信息中,例如: ...  
             */  
            OutputStreamWriter out = new OutputStreamWriter(connection   
                    .getOutputStream(), "UTF-8");   
            out.write("Name=123456&Password=123456&Password2=123456&Part=Networld&Position=Leader&Phone=13553915937&E_mail=123@qq.com&Sex=male"); //post的关键所在!   
            // remember to clean up   
            out.flush();   
            out.close();   
            /**  
             * 这样就可以发送一个看起来象这样的POST:   
             * POST /jobsearch/jobsearch.cgi HTTP 1.0 ACCEPT:  
             * text/plain Content-type: application/x-www-form-urlencoded  
             * Content-length: 99 username=bob password=someword  
             */  
            // 一旦发送成功,用以下方法就可以得到服务器的回应:   
            String sCurrentLine;   
            String sTotalString;   
            sCurrentLine = "";   
            sTotalString = "";   
            InputStream l_urlStream;   
            l_urlStream = connection.getInputStream();   
            // 传说中的三层包装阿!   
            BufferedReader l_reader = new BufferedReader(new InputStreamReader(   
                    l_urlStream));   
            while ((sCurrentLine = l_reader.readLine()) != null) {   
                sTotalString += sCurrentLine + "
    ";   
      
            }   
            System.out.println(sTotalString);   
        }   
      
        public static void main(String[] args) throws IOException {   
      
            testPost();   
      
        }   
      
    }  

    以上代码通过测试,能得到登录后的页面静态代码

    有兴趣可以自己测试,注意地址是提交的地址,参数也得一致

     

    以上是原文

    这个程序其实就是模拟http请求,能够模拟登录和注册。

  • 相关阅读:
    UOJ 216 Jakarta Skyscrapers
    JDBC Connection使用
    jmeter 参数化5_Count 计数器
    jmeter 参数化4_Function Helper中的函数
    jmeter 参数化3_User Defined Variables(用户自定义变量)
    jmeter 参数化2_CSV Data Set Config
    jmeter 参数化1_User Parameters(用户参数)
    Jmeter --Json Extractor (后置处理器)
    2、pycharm中设置pytest为默认运行
    1、pip不是内部运行程序 解决方法
  • 原文地址:https://www.cnblogs.com/starwolf/p/3237857.html
Copyright © 2011-2022 走看看