0
我试图获得此URL的JSON:https://usecryptos.com/jsonapi/ticker/BTC-USD 这是通过浏览器进行访问,然而,节目给了我以下错误:的Java得到JSON网址禁典
GRAVE: null
java.io.IOException: Server returned HTTP response code: 403 for URL: https://usecryptos.com/jsonapi/ticker/BTC-USD
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1838)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at java.net.URL.openStream(URL.java:1038)
at main.JsonReader.readJsonFromUrl(JsonReader.java:28)
at exchanges.brazil.UseCryptos.getTicker(UseCryptos.java:62)
at exchanges.brazil.UseCryptos.get24hrVol(UseCryptos.java:50)
at exchanges.brazil.UseCryptos.<init>(UseCryptos.java:42)
at main.Main.init(Main.java:31)
at main.Main.main(Main.java:52)
Exception in thread "main" java.lang.NullPointerException
at exchanges.brazil.UseCryptos.getTicker(UseCryptos.java:73)
at exchanges.brazil.UseCryptos.get24hrVol(UseCryptos.java:50)
at exchanges.brazil.UseCryptos.<init>(UseCryptos.java:42)
at main.Main.init(Main.java:31)
at main.Main.main(Main.java:52)
Java Result: 1
我打电话这功能,以 “体积” 和 “BTC_USD” 作为参数:
@Override
public String getTicker(String info, String coin) throws JSONException{
JSONObject json = null;
try {
String[] parts = coin.split("_");
coin = parts[0]+"-"+parts[1];
System.out.println(base_url + pairs_path_ticker[0][1] + coin);
json = JsonReader.readJsonFromUrl(base_url + pairs_path_ticker[0][1] + coin);
//json = json.getJSONObject("priVolume");
} catch (IOException ex) {
Logger.getLogger(UseCryptos.class.getName()).log(Level.SEVERE, null, ex);
} catch (JSONException ex) {
Logger.getLogger(UseCryptos.class.getName()).log(Level.SEVERE, null, ex);
}
switch (info) {
case "vol":
return Double.toString(json.getDouble("priVolume"));
default:
return null;
}
}
其他常用的功能:
public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
InputStream is = new URL(url).openStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = new JSONObject(jsonText);
return json;
} finally {
is.close();
}
}
任何人都可以帮助我吗?
谢谢回答@Marichyasana,我试过的代码只能与HTTTP,而不是https,你可以发布你使用的代码吗?我没有成功...... – Ernanirst 2014-12-13 10:34:46