У меня есть node.js, который ждет публикации с двумя параметрами (имя и пароль):
app.post('/login.html', function (req, res) {
log.info(req.body);
userName = req.body.name;
pass = req.body.pass;
...
}
Я пытаюсь отправить сообщение с двумя параметрами через простое Java-приложение, но не вижу, чтобы оно доставлялось на node.js.
Что мне не хватает?
Код Java:
public static void main(String[] args) {
URL url;
HttpURLConnection urlConnection = null;
try {
url = new URL("http://83.63.118.111:31011/login.html");
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setReadTimeout(10000);
urlConnection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
urlConnection.setConnectTimeout(10000);
urlConnection.setRequestMethod("POST");
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
OutputStream os = urlConnection.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
String str = "name='root'&pass='123456'";
//System.out.print(str);
writer.write(str);
writer.flush();
Thread.sleep(100);
writer.close();
os.close();
}
1 ответ
Ваш код закроется, когда начнется отправка данных (отправка и остановка)
Вы должны подождать, пока это будет сделано.
Добавьте код после writer.flush();
Пример получения response
:
BufferedReader in = new BufferedReader(
new InputStreamReader(urlConnection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
Или просто получите responseCode
:
int responseCode = urlConnection.getResponseCode();
Ваша программа ожидает успешной отправки запроса или неудачи.
Я думаю, вы используете Thread.sleep(100);
для ожидания отправки запроса, но он останавливает ваш поток (не отправляйте данные на сервер)
В вашем коде есть req.body
, в Express.js его нет, необходимо использовать промежуточное ПО body -parser.
Похожие вопросы
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].