我在网址上与邮递员进行api通话:
https://cex.io/api/order_book/BTC/USD
普通GET没有标题没有参数没有任何东西。但与java相同:
RestTemplate rt = new RestTemplate();
rt.getForObject("https://cex.io/api/order_book/BTC/USD", String.class);
得到我403.问题出在哪里?
答案 0 :(得分:3)
RestTemplate设置“User-Agent:Java_version”标头,您尝试查询的网站似乎拒绝使用该用户代理进行访问。
您可以显式设置用户代理,而不是默认的用户代理,如:
HttpHeaders headers = new HttpHeaders();
headers.set("User-agent", "SomeUserAgent");
HttpEntity<String> entity = new HttpEntity<String>(headers);
RestTemplate rt = new RestTemplate();
String result = rt.exchange("https://cex.io/api/order_book/BTC/USD", HttpMethod.GET, entity, String.class).getBody();