我对http请求有挑战。我正在尝试使用以下Java代码从服务中检索数据。我对HTTP请求使用POST请求方法来获取数据(出于某种原因,它需要发布)。但是,当我打印出结果(我以为是Json Objet)时,它会打印出许多与Json内容无关的XLM,HTML和Javascript。我的“ getResponse”方法似乎没有正确检索数据的问题。我什至尝试了“ new Gson.fromJson(response,TemplateClass.class);”
public class API {
private static HttpURLConnection connection;
public static Company company;
public static String sendRequest;
public static void sendPostRequest() throws IOException {
URL url;
String cNumberTest = "34046220";
company = new Company(cNumberTest);
sendRequest = new Gson().toJson(company); //Sending java object in Json format
try {
url = new URL("myUrl"); //URL reference
connection = (HttpURLConnection) url.openConnection(); //Åbner en connection til URL
connection.setRequestProperty("Authorization", "Bearer " + "TokenKey"); //API nøgle
connection.setRequestProperty("Content-Type", "application/json"); //Json format i service
connection.setRequestMethod("POST");
connection.setDoOutput(true);
DataOutputStream dataoutput = new DataOutputStream(connection.getOutputStream());
dataoutput.write(sendRequest.getBytes());
dataoutput.flush();
dataoutput.close();
int status = connection.getResponseCode(); //Returnerer status koden fra http response
System.out.println("Response status: " + status + "\n");
getResponse(); //Calls method from below
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void getResponse() throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
}
System.out.println(inputLine); //prints XML, javascript html content outside of json object?
in.close();
}
}