java模拟post提交

时间:2023-03-09 17:23:47
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();
}
}