Jump to content

mixuhd

Members
  • Posts

    11
  • Joined

  • Last visited

  • Feedback

    0%

Profile Information

  • Gender
    Male

mixuhd's Achievements

Newbie

Newbie (1/10)

3

Reputation

  1. import java.net.HttpURLConnection; import java.net.URL; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URLEncoder; import com.google.gson.JsonObject; import com.google.gson.JsonParser; public class PriceFetcher { public static double getAvgPrice(String q) { HttpURLConnection connection = null; BufferedReader rd = null; StringBuilder sb = null; String line = null; URL serverAddress = null; try { serverAddress = new URL("http://forums.zybez.net/runescape-2007-prices/api/item/" + URLEncoder.encode(q, "UTF-8")); connection = null; connection = (HttpURLConnection)serverAddress.openConnection(); connection.setRequestMethod("GET"); connection.setDoOutput(true); connection.setReadTimeout(10000); connection.setRequestProperty("User-Agent", "Bot"); connection.connect(); rd = new BufferedReader(new InputStreamReader(connection.getInputStream())); sb = new StringBuilder(); while ((line = rd.readLine()) != null) { sb.append(line + '\n'); } JsonParser parser = new JsonParser(); JsonObject obj = parser.parse(sb.toString()).getAsJsonObject(); if (obj.has("average")) { return obj.get("average").getAsDouble(); } else if (obj.has("error")) { System.out.println(obj.get("error").toString()); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (ProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { connection.disconnect(); rd = null; sb = null; connection = null; } return Double.NaN; } public static void main(String[] args) { System.out.println(getAvgPrice("0")); // => NaN System.out.println(getAvgPrice("Lobster")); // => 226.689 System.out.println(getAvgPrice("3+@@#$@.---")); // => NaN System.out.println(getAvgPrice("Blue partyhat")); // => 48370.227 } } Requires google-gson in your build path for parsing the JSON response!
×
×
  • Create New...