Android Quellcode einer Website

mysterix

Mitglied
Hi,
ich habe vor einigen Monaten eine App für Android entwickelt, bei der ich mittels des Strichcodes einer DVD die dazugehörigen Informationen von der Amazon.de Internetseite abrufe. Das hat immer super funktioniert. Dafür habe ich einfach eine URL von Amazon mit der Strichcodenummer aufgerufen und habe den kompletten Quellcode dieser Seite zurück bekommen. Seit einigen tagen funktioniert das aber nicht mehr.

Ich habe mittlerweile herausgefunden, dass der Quellcode den ich zurück bekomme, nicht der ist, den ich bekomme, wenn ich am PC in Google Chrome den Quellcode anzeigen lasse. Der Quellcode sieht auch irgendwie immer anders aus, den ich bekomme.

Am Rechner bekomme ich einen Quellcode, der um die 180.000 Zeichen lang ist. Am Handy ist er aber nur 120.000 Zeichen land.

Mit diesem Code habe ich zuletzt versucht den korrekten Quellcode zu bekommen:

Java:
	HttpClient httpclient = new DefaultHttpClient(); // Create HTTP Client
	HttpGet httpget = new HttpGet(url.toString()); // Set the action you want to do
	HttpResponse response = httpclient.execute(httpget); // Executeit
	HttpEntity entity = response.getEntity(); 
	InputStream is = entity.getContent(); // Create an InputStream with the response
	BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
	StringBuilder sb = new StringBuilder();
	String line = null;
	while ((line = reader.readLine()) != null) // Read line by line
	    sb.append(line + "\n");

	String resString = sb.toString(); // Result is here

	is.close(); // Close the stream
	return resString;

Als URL habe ich folgendes:
Java:
"http://www.amazon.de/s/ref=nb_sb_noss?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Ddvd&field-keywords=5051890104656"

die nummer ganz hinten ist der Strichcode. In diesem Fall gehört er zu dem Film Headhunters.

Meine Frage wäre nun:

1. Weiss jemand, wieso ich nicht den kompletten Quellcode bekomme, den ich am Rechner habe?
2. Hat jemand eine Idee, wie ich ihn doch bekomme?

Ich versuche mal zu Schilder, was das Problem ist:
Ich lasse von oben genannter URL den Quellcode zurück geben. Diese Seite enthält dann aber erst das Suchergebnis zu dem Strichcode, aber noch nicht den eigentlichen Artikel. Also suche ich mir in dem Quellcode den Link zu dem richtigen Artikel, damit ich anschließend nach Darstellern, Preis und weiteren Informationen filtern kann. Dafür habe ich bisher immer nach soetwas im Code gesucht:
Java:
"class=\"a-size-small a-link-normal a-text-normal\" href=\""
Denn direkt danach began immer der Link. Nun ist das nichtmehr so. Gibt es evtl sogar noch andere Möglichkeitne diese Informationen zu bekommen? Ich hätte gern das Bild der DVD, den Namen, den Preis, die Darsteller. Hat immer super funktioniert.. bis vor ein paar tagen, wie gesagt.

Verzeiht, diesen langen Post. Ich hoffe jemand ist so nett und liest ihn sich durch!

Vielen Dank,
Grüße,
MysteriX
 

Thallius

Top Contributor
Dir ist aber schon klar, dass es hochgradig illegal ist einfach die Daten von Amazon für deine eigene App ziu klauen oder? Ich würde mich nicht erwischen lassen, geschweige denn damit hier groß in öffentlichen Foren damit rumposaunen.

Claus
 

mysterix

Mitglied
Natürlich ist sowas nicht verboten, Daten für den eigengebrauch zu verwenden. Aber... vielen Dank für den Post

EDIT:
Gut, das habe ich evtl. nicht erwähnt:
Die app nutzen nur ich und meine Freundin.
Damit wird also kein Geld verdient und sie wird nicht anderweitig vertrieben.
 
Zuletzt bearbeitet:

dzim

Top Contributor
In dem Umfang sollte es schon legitim sein. Erst wenn du es monetarisierst (schon auch wenn du nur Werbung schaltest, um deine Arbeit zu refinanzieren), wird es schwierig. Am besten mal die AGBs von Amazon lesen und schauen, wie weit hier das Urheberrecht geift. Das Produkt wird ja i.d.R. nicht von Amazon, sondern vom Rechteinhaber beschrieben, also liegen die Rechte dann auch noch ausserhalb von amazons Reichweite. Wäre da auch sehr vorsichtig!

Wie dem auch sei: Ich denke mal, der Grund für den anderen HTML-Code wird wohl sein, dass du hier als Mobiler-Client erkannt wirst und dir eine mobile Webseite zurückgegeben wird. Aber das ist nur eine spontane Vermutung. Oder du wirst auf ein anderes Backend geleitet, was eigentlich gleich sein sollte, es aber am Ende doch nicht ist... (So was ist mir mal bei Selenium-Tests untergekommen \o/ )
 

mysterix

Mitglied
Hi dzim,

kannst du mir evtl. noch mit ein wenig Code auf die Sprünge helfen? Um das komplette Thema der Web-Requests (Wenn man das so nennen kann), sieht es leider recht dunkel aus bei mir.
 

dzim

Top Contributor
Hier die offizielle Seite von Apache HttpComponents: Apache HttpComponents - Apache HttpComponents (Bis Android 4.4 ist das der default, allerdings in einer veralteten Version, Android L nutzt wohl OkHttp als offizielle Bibliothek für das im SDK)

Hier wird ein Beispiel für einen User-Agent diskutiert: java - How to set custom User-Agent with apache http client library 4.1? - Stack Overflow (wie gesagt: ich weiss nicht, wie das in der veralteten Version vom Apache HttpClient im Android SDK vor Android L genau ist - schau mal hier: AbstractHttpMessage | Android Developers )
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Umlaute im Quellcode einer Website richtig darstellen Android & Cross-Platform Mobile Apps 4
M Quellcode einer Website auslesen Android & Cross-Platform Mobile Apps 5
Noahscript Android APK Dekompilieren (Quellcode) Android & Cross-Platform Mobile Apps 1
J wie sicher ist der Quellcode in einem apk? bzw wie schützt man ihn? Android & Cross-Platform Mobile Apps 6
O Android Anfänger: Quellcode nicht gefunden Android & Cross-Platform Mobile Apps 3
G Android C++ Quellcode für Android Geräte compilieren Android & Cross-Platform Mobile Apps 2
I Android WebKit: Seite auslesen (Nur Quellcode) Android & Cross-Platform Mobile Apps 12
N EE Quellcode zu ME Android & Cross-Platform Mobile Apps 3
T Lesen / Schreiben einer Textdatei - SD-Karte Android & Cross-Platform Mobile Apps 42
OnDemand Allgemeine Fragen zu einer App Android & Cross-Platform Mobile Apps 4
I Foto mit einer bestimmten Auflösung aufnehmen und als Datei ablegen. Android & Cross-Platform Mobile Apps 5
Jose05 Wie kann man mit einer App Geld verdienen? Android & Cross-Platform Mobile Apps 6
T Android Studio: Einen Button in einer For Schleife verwenden Android & Cross-Platform Mobile Apps 2
M Activity einer anderen App mit result Android & Cross-Platform Mobile Apps 2
J Android Zugriff auf eine Datei, diese von einer anderen App erstellt wurde? Android & Cross-Platform Mobile Apps 11
Mo1234 Plattform in einer App. Bitte um Hilfe! Android & Cross-Platform Mobile Apps 8
A Mit Java neues item in ein string-array einer Strings.xml schreiben Android & Cross-Platform Mobile Apps 4
P Android Wie bestimme ich den Dateinamen einer Bilddatei? Android & Cross-Platform Mobile Apps 11
B Falsche ausgabe einer Rechnung! Android & Cross-Platform Mobile Apps 8
M Android Dynamische SchriftGröße einer TextView Android & Cross-Platform Mobile Apps 3
J Android Suche in einer ListView Android & Cross-Platform Mobile Apps 3
G Android Daten in einer Datenbank speichern Android & Cross-Platform Mobile Apps 1
J Android button mithilfe einer Methode automatisch erstellen Android & Cross-Platform Mobile Apps 6
JavaWolf165 Android Fehler beim Speichern/Downloaden einer Datei Android & Cross-Platform Mobile Apps 2
S Android Probleme beim Verbinden mit einer HTTPS Seite Android & Cross-Platform Mobile Apps 4
B Android wie kann ich in einer xml nach bestimme item suchen (DOM) Android & Cross-Platform Mobile Apps 7
C Android Diese Art von Werbung in einer App? Android & Cross-Platform Mobile Apps 1
? ständig ändernden Inhalten in einer App Android & Cross-Platform Mobile Apps 2
R Android Eine Website-frame in einer App Android & Cross-Platform Mobile Apps 4
H Android Aufrufen von "setContentView" in einer anderen Klasse Android & Cross-Platform Mobile Apps 3
S Die Erstellung einer eigenen App,Kosten? Android & Cross-Platform Mobile Apps 1
M Android Speichern einer .txt Datei im InternalStorage Android & Cross-Platform Mobile Apps 2
B Fragen zum Speichern einer Datei auf dem Gerät? Android & Cross-Platform Mobile Apps 7
C Auf Play Store verlinken - Code in einer Extraklasse Android & Cross-Platform Mobile Apps 1
G Thread in einer Service erstellen Android & Cross-Platform Mobile Apps 0
B Android Spieler Steuerung auf einer Map mit Berge? Android & Cross-Platform Mobile Apps 7
K Löschen einer Tabelle bei PlayStore update Android & Cross-Platform Mobile Apps 2
H Veröffentlichung einer Bezahl-App Android & Cross-Platform Mobile Apps 5
Robat Android ConcurrentModificationException während einer for Schleife Android & Cross-Platform Mobile Apps 15
D Android EditText und TextView haben unterschiedliche größen innerhalb einer TableRow Android & Cross-Platform Mobile Apps 18
T Android platzsparende Codierung verschlüsselter Texte in einer URI Android & Cross-Platform Mobile Apps 8
S Android "Weiches wechseln" zwischen Views in einer Activity Android & Cross-Platform Mobile Apps 3
F Bei einer Android Java App, Objekte erstellen Android & Cross-Platform Mobile Apps 2
G eine Methode einer anderen Activity aufrufen Android & Cross-Platform Mobile Apps 9
G Einbinden einer Bibliothek's App Android & Cross-Platform Mobile Apps 2
G Daten von einer Activity zur nächsten übergeben Android & Cross-Platform Mobile Apps 6
A Fehler beim Starten eines Intents - alles in einer Klasse funktioniert... Android & Cross-Platform Mobile Apps 4
A Kann nicht in TextView einer anderen Klasse schreiben - wieso? Android & Cross-Platform Mobile Apps 9
A Beenden einer 2ten Activity Android & Cross-Platform Mobile Apps 3
T Android Multiple SDK-Support in einer Apk Android & Cross-Platform Mobile Apps 5
R Android Unterschiedliche Versionen von Android in einer App Android & Cross-Platform Mobile Apps 7
D Mehrere Kopien von einer Form Android & Cross-Platform Mobile Apps 7
M Wie in einer anderen "nicht canvas" klasse zeichne Android & Cross-Platform Mobile Apps 5
S Problem mit Einbindung einer externer Bibliothek Android & Cross-Platform Mobile Apps 2
S Variable Anzahl von Bytes aus einer Datei lesen Android & Cross-Platform Mobile Apps 2
P Erstellen einer Jar-File Android & Cross-Platform Mobile Apps 2
A mCommerce: Brauche mobile Version von Website Android & Cross-Platform Mobile Apps 1
D HTML Code von Website abrufen Android & Cross-Platform Mobile Apps 26
C PHP Website aufrufen Android & Cross-Platform Mobile Apps 2
T Android Einloggen auf Website langsam? Android & Cross-Platform Mobile Apps 2
H Smartphone (Front-)Kamera-Zugriff per Website Android & Cross-Platform Mobile Apps 6
S Android Zugriff auf Website fuers Infos Android & Cross-Platform Mobile Apps 2

Ähnliche Java Themen

Neue Themen


Oben