Я звоню одному стороннему запросу, и мне нужно отправить данные формы, используя java:
URL url = new URL("http://192.145.0.17:5000/callDay");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setUseCaches(false);
conn.setDoOutput(true); // indicates POST method
conn.setDoInput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Cache-Control", "no-cache");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty(
"Content-Type", "multipart/form-data; boundary=--******");
OutputStream os = conn.getOutputStream();
BufferedWriter httpRequestBodyWriter =
new BufferedWriter(new OutputStreamWriter(os));
httpRequestBodyWriter.write("\n\n--******\n");
httpRequestBodyWriter.write("Content-Disposition: form-data;"
+ "name=\"user_id\""
+ "\n Admin");
httpRequestBodyWriter.write("\n\n--******\n");
httpRequestBodyWriter.write("Content-Disposition: form-data;"
+ "name=\"abc\";"
+ "filename=\"abc\""
+ "\nContent-Type: \n\n");
httpRequestBodyWriter.write("\n\n--******\n");
httpRequestBodyWriter.write("Content-Disposition: form-data;"
+ "name=\"ouput_path\""
+ "\n dc");
httpRequestBodyWriter.flush();
os.write(Files.readAllBytes(Paths.get(nbPath)));
os.flush();
// Mark the end of the multipart http request
httpRequestBodyWriter.write("\n--******--\n");
httpRequestBodyWriter.flush();
os.close();
httpRequestBodyWriter.close();
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
и этот запрос имеет конечную точку Python, но когда Python пытается прочитать запрос из данных, он всегда получает пустые данные. почему он получает пустые данные?
извините за мой английский. пожалуйста, помогите мне.