Я совершенно новичок в Spring-xd, и моей задачей является создание потока, который принимает данные http, отправленные на определенный порт (например, мой локальный хост), и сохраняет их в локальном файле
Сначала, Я развернул этот поток:
xd:> stream create --name otherfilestream --definition "http --port=8080 |
file --name=myfile --dir=/some/custom/directory" --deploy
Он работает и создает локальный файл в системе всякий раз, когда я вызываю: xd:> http post --target http://localhost:8080 --data "hello"
Теперь мне интересно, как я могу вызвать этот пост-запрос с помощью кода Java.Я пробовал традиционный способ сделать запрос на публикацию, но он не сработал.
private void sendPost() throws Exception {
String url = "http://localhost:8080/";
URL obj = new URL(null, url, new sun.net.www.protocol.https.Handler());
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", USER_AGENT);
con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
String urlParameters = "Hello.txt";
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
System.out.println("\nSending 'POST' request to URL : " + url);
System.out.println("Post parameters : " + urlParameters);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
//print result
System.out.println(response.toString());
}
}
Мой вопрос: как правильно отправить запрос на публикацию с внешнего java-кода?
Спасибо,