1 package com.example.xub3.speakerlocator;
3 import android.util.Log;
5 import org.apache.http.HttpResponse;
6 import org.apache.http.HttpVersion;
7 import org.apache.http.client.HttpClient;
8 import org.apache.http.client.methods.HttpPost;
9 import org.apache.http.conn.ClientConnectionManager;
10 import org.apache.http.conn.scheme.PlainSocketFactory;
11 import org.apache.http.conn.scheme.Scheme;
12 import org.apache.http.conn.scheme.SchemeRegistry;
13 import org.apache.http.conn.ssl.SSLSocketFactory;
14 import org.apache.http.entity.StringEntity;
15 import org.apache.http.impl.client.DefaultHttpClient;
16 import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
17 import org.apache.http.params.BasicHttpParams;
18 import org.apache.http.params.CoreConnectionPNames;
19 import org.apache.http.params.CoreProtocolPNames;
20 import org.apache.http.params.HttpParams;
21 import org.apache.http.protocol.HTTP;
22 import org.json.JSONArray;
23 import org.json.JSONObject;
25 import java.io.BufferedInputStream;
26 import java.io.BufferedReader;
27 import java.io.IOException;
28 import java.io.InputStreamReader;
29 import java.io.InputStream;
30 import java.security.KeyStore;
31 import java.security.cert.Certificate;
32 import java.security.cert.CertificateFactory;
33 import java.security.cert.X509Certificate;
37 * Created by xub3 on 4/14/16.
40 private static final int Driver_port = 8000;
41 private static final String Tag = "CallReceiver";
42 HttpClient httpclient;
44 void setConnection() {
45 httpclient = createClient();
47 HttpClient createClient() {
48 HttpParams params = new BasicHttpParams();
49 params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
50 params.setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET, HTTP.DEFAULT_CONTENT_CHARSET);
51 params.setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, true);
52 params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 30 * 1000);
53 params.setParameter(CoreConnectionPNames.SO_TIMEOUT, 30 * 1000);
55 SchemeRegistry schReg = new SchemeRegistry();
56 schReg.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 8000));
57 ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params, schReg);
59 return new DefaultHttpClient(conMgr, params);
63 public void makeRequest(String destIP, Object contentStr, String methodName) {
64 String url = "http://"+ destIP+":" + Driver_port + "/"+methodName;
67 InputStream inputStream = null;
69 StringBuilder sb = new StringBuilder();
71 HttpPost httpPost = new HttpPost(url);
72 JSONArray params = new JSONArray();
74 JSONObject content = new JSONObject();
75 JSONObject parent = new JSONObject();
76 content.put("type", contentStr.getClass().getName());
77 content.put("value", contentStr);
78 params.put(0,content);
79 parent.put("params", params);
80 StringEntity se = new StringEntity(parent.toString());
81 httpPost.setEntity(se);
82 httpPost.setHeader("Accept", "application/json");
83 httpPost.setHeader("Content-type", "application/json");
84 HttpResponse httpResponse = httpclient.execute(httpPost);
85 // 9. receive response as inputStream
86 inputStream = httpResponse.getEntity().getContent();
88 // 10. convert inputstream to string
89 if(inputStream != null)
90 result = convertInputStreamToString(inputStream);
92 result = "Did not work!";
94 } catch (Exception ex) {
95 if (ex.getMessage() != null) {
96 Log.v(Tag, ex.getMessage());
102 private static String convertInputStreamToString(InputStream inputStream) throws IOException{
103 BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream));
106 while((line = bufferedReader.readLine()) != null)