Java Post File для PHP - PullRequest
       14

Java Post File для PHP

1 голос
/ 19 августа 2009

Как я могу опубликовать файл на php, используя java (как и в html-форме)?

Ответы [ 3 ]

4 голосов
/ 19 августа 2009

Если вам просто нужно сгенерировать Пост HTTP, проверьте HttpClient и, в частности, PostMethod . Поскольку вы говорите по HTTP, технология реализации на сервере (в вашем случае, PHP) несущественна.

Вот пример здесь .

2 голосов
/ 19 августа 2009

Фактически возможно выполнить POST, используя только те классы, которые есть в JDK, но, как отмечали другие, вероятно, будет проще использовать такую ​​библиотеку, как HttpClient.

В дополнение к HttpClient вы также можете посмотреть клиентские java-библиотеки, предоставляемые средами RESTful, такими как Restlet и Jersey. Хотя в первую очередь они предназначены для взаимодействия с веб-сервисами, они предлагают высокоуровневую абстракцию для GETing и POSTing практически ко всему.

Код НЕ проверен и даже не скомпилирован (возможно, не компилируется), но это своего рода сортировка, которую вы бы сделали, если бы захотели свернуть свой собственный:

URL url = new URL("http://hostname/foo.php");

URLConnection connection = url.openConnection();

connection.setDoInput(true);
connection.setDoOutput(true);

// ignoring possible encoding issues
byte[] body = "param=value&param2=value2".getBytes();

connection.setRequestProperty("Content-type", "application/x-www-form-urlencoded" );
connection.setRequestProperty("Content-length", String.valueOf(body.length) );

// ignoring possible IOExceptions
OutputStream out = connection.getOutputStream();
out.write(body);
out.flush();

// use this to read back from server
InputStream in = connection.getInputStream();

Как видите, это довольно низкоуровневые вещи. Вот почему вы хотите использовать библиотеку.

1 голос
/ 19 августа 2009

Библиотека httpclient содержит все инструменты, необходимые для общения с веб-сервером.

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