Я написал простое приложение HTTP HTTP Client, которое должно подключиться к внешнему ресурсу с моей машины, используя ngrok
. Образец кода:Как подключить простое приложение HTTP HTTP-клиента к веб-ресурсу с помощью Ngrok?
public void sendMessage(String number, String message) {
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(
LINK);
httpPost.addHeader("content-type", "application/json");
List<NameValuePair> nvps = new ArrayList<>();
nvps.add(new BasicNameValuePair("Authorization", getBasicAuth()));
nvps.add(new BasicNameValuePair("LOGIN", LOGIN));
nvps.add(new BasicNameValuePair("PASSWORD", PASSWORD));
nvps.add(new BasicNameValuePair("Message", "Hello, World!"));
httpPost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
HttpResponse response = httpClient.execute(httpPost);
if (response.getStatusLine().getStatusCode() != 201) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatusLine().getStatusCode());
}
BufferedReader br = new BufferedReader(
new InputStreamReader((response.getEntity().getContent())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
httpClient.getConnectionManager().shutdown();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
документация ngrok
говорит я должен предоставить порт для локального веб-сервера. Но в моем случае это простое одноклассное приложение, в котором ничего не было настроено для Tomcat. Итак, как мне настроить ngrok для передачи HTTP-запросов моего приложения?
Я также попробовал запустить приложение за сервером Tomcat, установив правильный порт с обеих сторон (tomcat и ngrok) - связь пока не установлена.