У меня есть URL-адрес API, который отлично работает, если вы запускаете в расширенном клиенте отдыха хром напрямую. Я хочу, чтобы этот URL-адрес запускался из моего собственного кода API REST, который должен запускать его в расширенном клиенте отдыха и сохраняет результат в переменной. Как я могу это сделать?Запуск URL-адреса в Advanced Rest Client из java-программы
ответ
Используйте библиотеку Apache HttpClient https://hc.apache.org/ или некоторые другие сторонние библиотеки с открытым исходным кодом для легкого кодирования. Если вы используете apache httpClient lib, пожалуйста, используйте Google для примера кода. Здесь крошечный пример.
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet('http://site/MyrestUrl');
HttpResponse response = client.execute(request);
BufferedReader rd = new BufferedReader (new InputStreamReader(response.getEntity().getContent()));
String line = '';
while ((line = rd.readLine()) != null) {
System.out.println(line);
}
return (rd);
Если есть какие-либо ограничения на использование сторонних банкоматов, вы можете сделать и в простой Java.
HttpURLConnection conn = null;
try {
URL url = new URL("http://site/MyRestURL");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", ""); // add your content mime type
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
спасибо за ответ. это помогло мне с URL с http. но он не работал с https. Я попытался найти структуру similer для https, но не смог найти. не могли бы вы помочь мне с некоторой ссылкой или такой структурой, которая берет https-url. Благодарю. –
Просмотрите вопрос и ответы. Это поможет вам, если вы хотите получить сертификат. http://stackoverflow.com/questions/1757295/using-https-with-rest-in-java –
Это хорошо объясненный блог. http://javaskeleton.blogspot.de/2010/07/avoiding-peer-not-authenticated-with.html –
В простой java, попробуйте вот так. Мой совет, пожалуйста, попробуйте использовать хорошие клиенты с открытым исходным кодом/http. В сети много примеров.
String httpsUrl = "https://www.google.com/";
URL url;
try {
url = new URL(httpsUrl);
HttpsURLConnection con = HttpsURLConnection)url.openConnection();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Зачем вам нужно работать в расширенном клиенте отдыха? – Romski