package com.infodat.selltis2;
import android.util.Log;
import com.infodat.selltis2.utils.Constants;
import com.infodat.selltis2.utils.Utils;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import javax.net.ssl.HttpsURLConnection;
public class HttpWebServiceHandlerSample {
static String response = null;
public HttpWebServiceHandlerSample() {
}
/**
* Making service call
*
* @url - url to make request
* @method - http request method
* @params - http request params
*/
// Get Request using HttpURLConnection Code
public String makeGetServiceCall(String requestURL, HashMap<String, String> postDataParams) {
InputStream inputStream = null;
HttpURLConnection conn = null;
String response = "";
try {
/* forming th java.net.URL object */
String newRequestURL = requestURL + getQueryString(postDataParams);
URL url = new URL(newRequestURL);
Log.i("URL ", newRequestURL);
conn = (HttpURLConnection) url.openConnection();
/* optional request header */
conn.setRequestProperty("Content-Type", "application/json");
/* optional request header */
conn.setRequestProperty("Accept", "application/json");
// urlConnection.setConnectTimeout(100000);
/* for Get request */
conn.setRequestMethod("GET");
int statusCode = conn.getResponseCode();
/* 200 represents HTTP OK */
if (statusCode == 200) {
inputStream = new BufferedInputStream(conn.getInputStream());
response = convertInputStreamToString(inputStream);
} else {
response = Constants.NetWorkErrorMSG;
}
} catch (Exception e) {
// Log.i("Selltis N/w Error", e.getLocalizedMessage());
response = Constants.NetWorkErrorMSG;
} finally {
if (conn != null)
conn.disconnect();
}
Log.i("RESPONSE", response);
return response; // return response
}
// Convert all key/Value pairs to URL request parameters
private String getQueryString(HashMap<String, String> params) throws UnsupportedEncodingException {
StringBuilder result = new StringBuilder();
boolean first = true;
for (Map.Entry<String, String> entry : params.entrySet()) {
if (first)
first = false;
else
result.append("&");
result.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
result.append("=");
result.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
}
return result.toString();
}
// convert InputStream to String
private String convertInputStreamToString(InputStream inputStream) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line = "";
String result = "";
while ((line = bufferedReader.readLine()) != null) {
result += line;
}
/* Close Stream */
if (null != inputStream) {
inputStream.close();
}
return result;
}
// POST Request using HttpURLConnection Code
public String makePostServiceCall(String requestURL, String postJosnData) {
InputStream inputStream = null;
URL url;
String response = "";
HttpURLConnection conn = null;
try {
url = new URL(requestURL);
conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(10000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
/* optional request header */
conn.setRequestProperty("Content-Type", "application/json");
/* optional request header */
conn.setRequestProperty("Accept", "application/json");
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(postJosnData);
// Log.i("POST URL", url.toString());
// Log.i("POST DATA", postJosnData);
writer.flush();
writer.close();
os.close();
int responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
inputStream = new BufferedInputStream(conn.getInputStream());
response = convertInputStreamToString(inputStream);
} else {
response = Utils.ServerErrorMessage;
}
} catch (Exception e) {
// Log.i("Selltis N/w Error", e.getLocalizedMessage());
response = Utils.ServerErrorMessage;
} finally {
if (conn != null)
conn.disconnect();
}
return response;
}
}
Friday, November 27, 2015
Android HttpURLConnection code for GET and POST Methods
Labels:
Android,
HttpURLConnection,
network android
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment