google durchsuchen mit URL.openStream()

Status
Nicht offen für weitere Antworten.
B

BillG

Gast
Hallo,

ich hab ne klasse die Webseiten läd, das macht sie auch wunderbar,
nur wenn ich google durchsuchen will bekomme ich ein 403 forbidden zurück.
Die Google Startseite bekomme ich auch ohne probleme.

In einem Forum meinte jemand mit URLConnection.addRequestProperty("User-Agent", "")
(Verdammt, warum kann opera kein autovervollständigen :) )
würde es funzen, allerdings müsste ich da einiges an Code umschreiben, was mir
garnicht gelegen kommen würde.
Was meint ihr, gibts ne möglichkeit entsprechendes mit URL anstatt URL connection zu
tun, oder muss ich mir extra ne neue Klasse für Google schreiben??
Währe für hilfe Dankbar....

:autsch:

:bahnhof:
GreeTz
 

Bleiglanz

Gesperrter Benutzer
Wie willst du "Google" durchsuchen?

ansonsten:

Verwende ethereal (oder Firefox-Web-Developer-Plugin) und schau dir genau an, welchen Request ein Browser abschickt

=> setzt dann die entsprechenen Header manuell
 
B

BillG

Gast
Tach,

Danke erstmal für die Antworten.
Ich will google durchsuchen, indem ich direkt n Query schick und nicht
über die Startseite geh, wie in Opera oder Firefox eben.
Hab ne Klasse die dann die links aus der Seite extrahiert.
Das mit dem Headersetzen war genau meine Frage, wie ich das am
besten mache, bin inzwischen drauf gekommen das ich wohl
Code:
URL url = new URL("http://www.google.de/search?q=test&num=10");
URLConnection connection = url.openConnection();
connection.addRequestProberty("User-Agent","Firefox oder so...");
connection.connect();
machen kann um das zu tun, allerdings wird erzeugt das eine
MalformedUrlException, was ich etwas komisch finde, da die
URL ja im Konstruktor ohne Probleme akzeptiert wird.
Wird sie vielleicht in der gelieferten URLConnection nicht mit
geliefert??
Na werd mich nochmal über die Doku zur Klasse setzten wenn ich wieder zeit hab.
Und dann werd ich mal sehen was noch fehlt und was so MalFormed an meiner
URL is, wo sie doch bei einem direkten
Code:
URL url = new URL("http://www.google.de/search?q=test&num=10");
InputStream in = url.getInputStream();
direkt ne saubere 403 Forbidden Meldung zurückgibt und sonst alle Seiten läd.
Gruß
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben