• java模拟post提交


    package javapost;
    
    import java.io.BufferedReader;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.UnsupportedEncodingException;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.security.MessageDigest;
    
    public class RZBService {
        
        public static void main(String[] args) {    
            //注意:参数必须要经过utf-8编码
            simpleCheck();
       
        }
      
        static void simpleCheck(){
            String account = "xxx"; // 账号
            String pwd = "xxx"; // 密码
            String sign = md5(md5(xxxx+ xxxx) + xxxx);
            String url="xxxxxx";
            String postdata="";
            try {
                postdata = "idNumber=" + idNumber
                                + "&name=" + URLEncoder.encode(name, "UTF-8")
                                + "&account=" + account
                                //+ "&pwd="+ pwd
                                + "&sign=" + sign;
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            String json="";
            try {
                json = readContentFromPost(url, postdata);
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println(json);
        }
    
        static String md5(String text) {
            byte[] bts;
            try {
                bts = text.getBytes("UTF-8");
                MessageDigest md = MessageDigest.getInstance("MD5");
                byte[] bts_hash = md.digest(bts);
                StringBuffer buf = new StringBuffer();
                for (byte b : bts_hash) {
                    buf.append(String.format("%02X", b & 0xff));
                }
                return buf.toString();
            } catch (java.io.UnsupportedEncodingException e) {
                e.printStackTrace();
                return "";
            } catch (java.security.NoSuchAlgorithmException e) {
                e.printStackTrace();
                return "";
            }
        }
    
        public static String readContentFromPost(String POST_URL,String postdata) throws IOException{  
                URL postUrl = new URL(POST_URL);  
                HttpURLConnection connection = (HttpURLConnection) postUrl.openConnection();  
                connection.setDoOutput(true);  
                connection.setDoInput(true);  
                connection.setRequestMethod("POST");  
                connection.setUseCaches(false);  
                connection.setInstanceFollowRedirects(true);  
                connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");  
                connection.connect();  
                DataOutputStream out = new DataOutputStream(connection.getOutputStream());  
                out.writeBytes(postdata);   
                out.flush();  
                out.close();   
                BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));//设置编码,否则中文乱码  
                String line="";  
                StringBuffer response = new StringBuffer();
                while ((line = reader.readLine()) != null){  
                    response.append(line);
                }  
                reader.close();  
                connection.disconnect();  
                return response.toString();
            }  
    }
  • 相关阅读:
    Pull Request
    选择器
    常见HTTP状态码
    286. Walls and Gates
    200. Number of Islands
    1. Two Sum
    名片管理系统(python实现)
    k近邻算法(简单版)
    基数排序
    递归算法的调试
  • 原文地址:https://www.cnblogs.com/25miao/p/7126485.html
Copyright © 2020-2023  润新知