Boa tarde,
A pouco tempo criei um software que gera um numero de protocolo junto com um log de procedimentos realizados. Preciso que o java envie as informações geradas no log para uma API de e-mail da nossa empresa, estudei um pouco mais sobre o envio de dados via HTTP, e verifiquei que o correto seria usar o método post, mas não estou conseguindo achar este método, ou eu achei porém não estou conseguindo usa-lo, o mais próximo que consegui deste método é este abaixo, alguém pode me dizer como funciona este método e como faço pra enviar dados para uma API através da URL dentro dele?
OBS: toda vez que eu executo ele me retorna um código 200 da URL, como se estivesse usando o método de requisição HTTP GET.
Obrigado
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import org.omg.CORBA.NameValuePair;
import sun.net.www.http.HttpClient;
public class Conexao {
private static HttpURLConnection con;
public static void main(String[] args) throws MalformedURLException,
ProtocolException, IOException {
String url = "spacecom.com.br";
String urlParameters = "name=Jack&occupation=programmer";
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
URL myurl = new URL(url);
con = (HttpURLConnection) myurl.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", "Java client");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
try (DataOutputStream wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
}
StringBuilder content;
try (BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()))) {
String line;
content = new StringBuilder();
while ((line = in.readLine()) != null) {
content.append(line);
content.append(System.lineSeparator());
}
}
System.out.println(content.toString());
} finally {
con.disconnect();
}
}
}