package com.mmt.test.urlConnection;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class URLConnection_POST {
public static void main(String []args){
String urlPath ="http://localhost/test/userLogin.php";
String encodeType ="utf-8";
Map<Object,Object> params = new HashMap<Object,Object>();
params.put("userName", "mmt");
params.put("userPswd","123456");
String resultString = doPost(urlPath,params,encodeType);
System.out.println(resultString);
}
public static String doPost(String urlPath,Map<Object,Object>params,String encodeType){
InputStream inputStream = doPostAndGetStream(urlPath,params);
String resultString = streamToString(inputStream, encodeType);
return resultString ;
}
private static InputStream doPostAndGetStream(String urlPath,Map<Object,Object>params){
InputStream inputStream = null ;
java.io.OutputStream outputStream = null ;
URL url = null ;
try {
url = new URL(urlPath);
HttpURLConnection httpURLConnection =(HttpURLConnection) url.openConnection();
httpURLConnection.setConnectTimeout(3000);
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
httpURLConnection.setRequestMethod("POST");
StringBuffer stringBuffer = new StringBuffer();
for(Entry<Object,Object> entry:params.entrySet()){
stringBuffer.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
}
stringBuffer.deleteCharAt(stringBuffer.length()-1);
outputStream = httpURLConnection.getOutputStream();
outputStream.write(stringBuffer.toString().getBytes());
inputStream = httpURLConnection.getInputStream();
} catch (Exception e) {
// TODO: handle exception
}
return inputStream ;
}
private static String streamToString(InputStream inputStream,String encodeType){
String resultString = null ;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int len = 0;
byte data[]=new byte[1024];
try {
while((len=inputStream.read(data))!=-1){
byteArrayOutputStream.write(data,0,len);
}
byte[]allData = byteArrayOutputStream.toByteArray();
resultString = new String(allData,encodeType);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return resultString ;
}
}