Запрос Java FormData пуст - PullRequest
       13

Запрос Java FormData пуст

1 голос
/ 27 апреля 2019

Я звоню одному стороннему запросу, и мне нужно отправить данные формы, используя 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 пытается прочитать запрос из данных, он всегда получает пустые данные. почему он получает пустые данные?

извините за мой английский. пожалуйста, помогите мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...