Fehler beim Download bestimmter Webseiten mit httpGet

S

Sorath666

Neues Mitglied
0
Hallo,

ich bin Neuling und versuche eine (kleine) App zu entwickeln.
Hierfür nutze ich Android Studio.

Im Prinzip besteht bisher meine App nur aus einem Eingabefeld und einem Button. Wird der Button geklickt, so läd die App den SourceCode einer Website in einen String ein und gibt diesen über ein TextView aus.

Soweit funktioniert das ganze auch bisher ganz gut.

Die Grundlage, auf der ich arbeite ist dieses Tutorioal:
[Tutorial] Download einer Webseite – Android Forum - AndroidPIT

Versucht habe ich bereits auch diese Variante mit Ion:

(ich habe in jeder Adresse hier das "http" durch "h**p" ersetzt, das sonst die Adressen als Link dargestellt werden, egal wie ichs anstelle)
_______________

Ion.with(getApplicationContext()).load("GET", "h**p://fddb.info/db/de/suche/?udd=0&cat=site-de&search=kiwi").asString().setCallback(new FutureCallback<String>() {
@override
public void onCompleted(Exception e, String result) {

webContent.setText(result);
}
});
_____________

Wenn ich "h**p://www.google.de" als Adresse angebe oder auch "h**ps://www.google.de/search?q=MeineSuche" (oder andere Seiten), funktioniert es tadellos.
Wenn ich nun jedoch die Seite angebe, mit der ich arbeiten möchte ("h**ps://fddb.info/db/de/suche/?search=Kiwi") bringt mir die App die Meldung "Error when downloading Webpage" ins Textview. Die Seite "h**ps://fddb.info" funktioniert.
Das gleiche passiert mit auch bei dict.cc: "h**p://dict.cc" funktioniert, "h**p://www.dict.cc/?s=Test" kommt nicht durch.

Ich habe auch versucht,die Adresse mittels Uri.Builder zu erzeugen, was in beiden Varianten ebenfalls dasselbe Ergebnis bringt.

Hat vielleicht jemand eine Idee, wie ich hier weiterkommen könnte?
Ich hänge seit Tagen an genau diesem Problem, alles andere hat relativ gut geklappt bisher. :rolleyes2:

Vielen Dank schon mal für eure Hilfe.

Gruß,
Christian
 
Hallo Sorath,

herzlichst willkommen im Forum

Warum entwickelst du denn aufgrund eines Artikels , der über 5 Jahre alt ist und lehnst dich nicht an
die offizielle neuste Bibliothek an ?

Grundsätzlich sollen Artikel, die du im Netz findest nur als Denkanstoss dienen.
Entwickeln sollte man immer mit der originalen API oder Bibliotheken, die aktuell sind.

Fast täglich kommen Änderungen.

koush/ion

P.S Dein load call ist veraltet und ich frage mich eben , warum du ein "GET" verwendest
P.S1. Wenn du ION verwendest , so darf dieser nicht mehr in einen AsynTask. ION arbeitet mit callbacks
 
Zuletzt bearbeitet:
Hi, ich habe mir dein Tutorial angesehen.
Wenn die Meldung "Error when downloading Webpage" kommt, müsstest du auch eine Exception-Meldung im Log-Cat angezeigt bekommen.
Mit dieser könnten wir dir vielleicht besser helfen.
 
  • Danke
Reaktionen: swa00
Vielen Dank für die Antworten,

ich konnte den Fehler lokalisieren, und es liegt am nicht vertrauenwürdigen Zertifikat für SSL.

Ich konnte es mit Ion und folgendem Ansatz lösen:
SelfSignedSSL

Viele Grüße,
Sorath
 
Hallo Sorath,

vielen Dank, dass du deine Lösung hier gepostet hast. Das machen leider nicht viele in Foren.

Grüße
 
Hi, ich war mal neugierig, und habe mir den Bugfix angesehen. Es ist leider kein kein Fehler mit der Zertifikate. Das Zerti von fddb.info ist okay, vertrauenswürdig und nicht self signed.
Wenn ich mir die Lösung anschaue, würde ich mal vermuten, dass du ein Bug im der Lib Ion gefunden hast. Deine Lösung macht die Verschlüsselung überflüssig, weil sie die Verbindung für Man in the Middle Angriffe geöffnet hat.
Benutze lieber volley, Transmitting Network Data Using Volley | Android Developers
 
die Signatur sollte schon geprüft werden - der Angreifer wird kaum ein Zertifikat mit gleicher Signatur haben.
 
Ganz deiner Meinung, Aber wenn du jedes Zertifikat (auch selbst zertifizierte) durchwinkst, schützt es nicht nicht wirklich. Dann braucht man keine Zertifikate, oder wenigsten keine Prüfung.
Die Webseite hatte ein valides Zertifikat, mit dem sich sein Framework nicht verbinden kann. Und die Lösung hebelt den ganzen Zertifizierungsprozess aus. Warum benutzen alle Frameworks, von denen niemand weiß, wie gut sie getestet wurden?
Und dies für Code, der vielleicht 30 Zeilen umfasst, und relativ leicht zu implementieren ist. Und wenn man unbedingt ein Framework benutzt, dann besser eins, wo viele mitarbeiten, und deren Codebasis kontinuierlich getestet und verbessert wird.
 

Ähnliche Themen

S
  • Sempervivum
Antworten
2
Aufrufe
607
Sempervivum
S
B
Antworten
4
Aufrufe
496
bb321
B
FabianDev
Antworten
5
Aufrufe
561
swa00
swa00
Zurück
Oben Unten