Hallo alle zusammen,
Ich habe Erfahrung in der Java Programmierung und wollte nun eine App bauen, welche einen HTTPS Request macht und mir ein JASONobjekt zurück gibt. Ich habe schon alles versucht, komme aber einfach nicht warum er keine Verbindung aufbaut. Versuche ich es in einem normalen Javaprojekt, stellt er die Verbindung her.
Als Fehler in der Logcat bekomme ich eine Nullpointexeption. Ist aber auch logisch, da er keine Verbindung aufbauen kann gibt er mir als Stream ein null zurück.
Könnt ihr mir bitte helfen?
Hier wäre der Code:
Ich habe Erfahrung in der Java Programmierung und wollte nun eine App bauen, welche einen HTTPS Request macht und mir ein JASONobjekt zurück gibt. Ich habe schon alles versucht, komme aber einfach nicht warum er keine Verbindung aufbaut. Versuche ich es in einem normalen Javaprojekt, stellt er die Verbindung her.
Als Fehler in der Logcat bekomme ich eine Nullpointexeption. Ist aber auch logisch, da er keine Verbindung aufbauen kann gibt er mir als Stream ein null zurück.
Könnt ihr mir bitte helfen?
Hier wäre der Code:
Java:
public class JSONTaskRegistrieren extends AsyncTask<String, String, String>{
private static final HostnameVerifier HostnameVerifier = new NullHostnameVerifier();
private SSLSocketFactory socketfactory;
@Override
protected String doInBackground(String...params){
String Servicepass;
String SecretToken = null;
String result = null;
BufferedReader reader = null;
URL url;
try{
url = new URL(params[0]);
SSLContext ctxt = SSLContext.getDefault();
SSLSocketFactory ssf = ctxt.getSocketFactory();
SSLSocket socket = (SSLSocket) ssf.createSocket(params[0], 443);
socket.startHandshake();
socket.close();
this.socketfactory = HttpsURLConnection.getDefaultSSLSocketFactory();
HttpsURLConnection.setDefaultHostnameVerifier((HostnameVerifier) new NullHostnameVerifier());
HttpsURLConnection con = (HttpsURLConnection)url.openConnection();
con.setDoInput(true);
con.setRequestMethod("GET");
con.setRequestProperty("Accept", "application/json");
con.setRequestProperty("WWSVC-REQID", "1");
InputStream stream = con.getInputStream();
reader = new BufferedReader(new InputStreamReader(stream));
StringBuffer buffer = new StringBuffer();
String output;
Log.v("JSONTaskRegistrieren", result);
while ((output = reader.readLine()) != null){
buffer.append(output);
}
String finalJson = buffer.toString();
Log.v("JSONTaskRegistrieren", result);
//System.out.println(buffer.toString());
JSONObject parentObject = new JSONObject(finalJson);
JSONObject servicepassobjekt = parentObject.getJSONObject("SERVICEPASS");
Log.v("JSONTaskRegistrieren", result);
//System.out.println(servicepassobjekt.toString());
StringBuffer finalBufferedData = new StringBuffer();
JSONObject finalObject = servicepassobjekt;
Servicepass = finalObject.getString("PASSID");
SecretToken = finalObject.getString("APPID");
return finalBufferedData.toString();
} catch (MalformedURLException e) {
Log.e("JSONTaskRegistrieren", "Error", e);
e.printStackTrace();
} catch (IOException e) {
Log.e("JSONTaskRegistrieren", "Error", e);
e.printStackTrace();
} catch (JSONException e) {
Log.e("JSONTaskRegistrieren", "Error", e);
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result){
super.onPostExecute(result);
System.out.println(result);
}
}
Zuletzt bearbeitet von einem Moderator: