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(); } }