URL add authentication information

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.text.DecimalFormat;


import cn.wzc.base.encrypt.Base64;


/**
 * @author wangzc
 * @version 1.0.0
 * @2015-12-14下午04:41:46
 */
public class UtilBasic {
public static String formatDecimal(double decimal,String format){
DecimalFormat df = new DecimalFormat(format);
return df.format(decimal);
}


/**
* Send get request
* getDataBasic
* @param path access path
* @param encode Request parameters and page encoding
* @param username Authentication username
* @param password verification password
* @return returns the html returned by the page
* String
*/
public static String getDataBasic(String path,String encode,String username,String password){
StringBuilder sb = new StringBuilder();
try {
URL url = new URL(path);
URLConnection urlConnection = url.openConnection();
       String authString = username + ":" + password;
       String authStringEnc = new String(Base64.encodeBase64(authString.getBytes()));
       urlConnection.setRequestProperty("Authorization", "Basic " + authStringEnc);
       BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),encode));
           String line;
           while ((line = reader.readLine()) != null) {
               sb.append(line);
           }
           reader.close();
} catch (Exception e) {
e.printStackTrace ();
}
       return sb.toString();
}




/**
* Send post request
*
* @param requestUrl
* Request URL
* @param params
* Request parameter text1=aaa&text2=bbb
* @param encode
* Request parameters and page encoding
* @return returns the html returned by the page
* @throws Exception
*/
public static String postDataBasic(String requestUrl, String params, String encode,String username,String password) throws Exception {
URL url = new URL(requestUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();


String authString = username + ":" + password;
   String authStringEnc = new String(Base64.encodeBase64(authString.getBytes()));
   conn.setRequestProperty("Authorization", "Basic " + authStringEnc);


conn.setRequestMethod("POST");//Submit mode
conn.setConnectTimeout(5000);//Connection timeout in milliseconds
conn.setReadTimeout(5000);//Read timeout in milliseconds
conn.setDoOutput(true);// Whether to input parameters
conn.setDoInput(true);
conn.setUseCaches(false);


byte[] b = params.toString().getBytes(encode);
OutputStream os = conn.getOutputStream();
os.write(b);// input parameters
os.flush();
os.close();


InputStream is = conn.getInputStream();
StringBuffer buffer = new StringBuffer();
BufferedReader rd = new BufferedReader(new InputStreamReader(is, encode));
int ch;
for (int length = 0; (ch = rd.read()) > -1; length++) {
buffer.append((char) ch);
}
rd.close();
is.close();
conn.disconnect();
return buffer.toString();
}




}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325578260&siteId=291194637