2016-04-11 4 views
2

Ich habe ein Problem mit Java HTTP. Ich versuche eine App zu erstellen, die eine bestimmte Anfrage an den Server sendet und dann benötigte Daten erhält. Ich habe herausgefunden, wie man GET an den Server sendet, aber ich stecke dann völlig fest. Ich habe viele Möglichkeiten gefunden, Suchergebnisse in Google zu analysieren, aber keine Informationen zu anderen Webressourcen. Zum Beispiel möchte ich eine benutzerdefinierte Suche nach Transporttickets von einer Website durchführen - was soll ich tun? Wenn es irgendwie hilfreich ist - hier ist der Code, den ich für GET verwende.Wie suche ich mit Java HTTP nach Daten?

public static void main(String[] args) throws UnsupportedEncodingException, MalformedURLException, IOException { 
     String url = "https://www.example.com/tickets/search"; 
String charset = java.nio.charset.StandardCharsets.UTF_8.name(); 
String param1 = "value1"; 
String param2 = "value2"; 


String query = String.format("param1=%s&param2=%s", 
    URLEncoder.encode(param1, charset), 
    URLEncoder.encode(param2, charset)); 

URLConnection connection = new URL(url + "?" + query).openConnection(); 
connection.setRequestProperty("Accept-Charset", charset); 
InputStream response = connection.getInputStream(); 

try (Scanner scanner = new Scanner(response)) { 
    String responseBody = scanner.useDelimiter("\\A").next(); 
    System.out.println(responseBody); 
} 
    } 
+0

Benötigen Sie etwas wie einen Webcrawler? Werfen Sie einen Blick auf http://nutch.apache.org/ – dumitru

+0

Was ist das spezifische Problem? Konstruiert er den Abfrage-URI, lädt die Ergebnisse herunter oder parst die Ergebnisse? –

+0

Ich würde sagen, dass alles auf einmal. Ich muss die Abfrage senden, ein Problem, ich muss dann Ergebnisse in JSON, BTW, analysieren - zweite. – iacm

Antwort

2

Für diese Art von Notwendigkeit, mag ich mit DavidWebb ein Leichtes Java HTTP-Client für JSON REST-Dienste aufrufen. Hier sehen Sie, wie Sie mit der Verwendung dieser Bibliothek aussehen würden (vorausgesetzt, Sie erwarten ein Ergebnis in JSON):

+0

Danke, ich werde versuchen, es zu benutzen. Es ist auch möglich, ein GET zu machen, oder? – iacm

+0

ja natürlich unterstützt es GET, POST, PUT und DELETE. –

+0

Übrigens, gehört JSONObject zu dieser Bibliothek oder nehme ich eine andere an? – iacm