2016-05-04 10 views
1

Also im Grunde jetzt meine App ist konfiguriert, https zu verwenden, weil in der "Freigabe" wird es ein selbst signiertes Zertifikat verwenden und natürlich auch Https.Wie überprüfen, ob URL-Schema ist Http oder Https und erstellen URLConnection abhängig davon

Mein aktuelles Testsystem (einige weitere Funktionen) verwendet nicht https sondern http statt. Ich dachte, es wäre nett, eine Art von Methode zu haben, um zu überprüfen, ob die angegebene URL Http oder Https ist und je nach Ergebnis die richtige URLConnection erstellt.

Mein aktuelles Problem ist, dass ich nicht weiß, wie die Methode genau aussehen sollte. Ich habe darüber nachgedacht, if-Anweisungen in den Methoden zu verwenden, die mit meinem Server verbunden sind, aber es könnte eine bessere Lösung geben.

Hilfe wäre willkommen.

Antwort

2

Wie wäre es damit:

URLUtil.isHttpUrl(String url) 
URLUtil.isHttpsUrl(String url) 

Siehe auch: http://developer.android.com/reference/android/webkit/URLUtil.html

Wenn Sie nicht wollen, ein Handbuch zu tun, überprüfen Sie eine 3rd-Party-Bibliothek wie diese verwenden: http://square.github.io/okhttp/, die Ihnen erlaubt, ein einfach:

Request request = new Request.Builder().url(url).build(); 
Response response = new OkHttpClient().newCall(request).execute(); 
+1

Diese Methode ist nett zu überprüfen, aber danach muss ich entweder eine HttpURLConnection oder eine HttpsURLConnection erstellen. Ich möchte keinen redundanten Code haben, daher kann ich keine einfache if-Prüfung verwenden und dann zwei Wege gehen, die 99% gleichen Code haben. Das ist mein Hauptproblem – fbueckle

+0

sehe meine aktualisierte Antwort –