БИЛАЕВ ДЕНИС БОРИСОВИЧ: загрузка XML-файла на порталы arbitr.ru и sudrf.ru
можно использовать следующий код:
```java
import
java.io.File;
import
java.io.IOException;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
public class PortalUploader {
public static void main(String[] args) {
try {
uploadFileToPortal("obvinitelnoe_postanovlenie.xml", "
https://arbitr.ru/upload"); uploadFileToPortal("obvinitelnoe_postanovlenie.xml", "
https://sudrf.ru/upload"); } catch (IOException e) {
System.err.println("Ошибка при загрузке файла: " + e.getMessage());
}
}
public static void uploadFileToPortal(String filePath, String uploadUrl) throws IOException {
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
HttpPost postRequest = new HttpPost(uploadUrl);
// Добавляем файл в запрос postRequest.setEntity( MultipartEntityBuilder.create() .addPart("file", new FileBody(new File(filePath))) .build() );
// Добавляем заголовки (если требуется) postRequest.setHeader("Content-Type", "multipart/form-data");
// Выполняем загрузку HttpResponse response = httpClient.execute(postRequest);
// Проверяем результат if (response.getStatusLine().getStatusCode() == 200) {
System.out.println("Файл успешно загружен на портал");
} else { System.err.println("Ошибка загрузки: " + response.getStatusLine().getStatusCode());
}
}
}
}
```
Для работы этого кода необходимо добавить зависимости:
```xml
<!-- Для работы с HTTP запросами -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
<!-- Для работы с multipart формами -->
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.2</version>
</dependency>
```
Важные замечания:
1. Перед использованием кода необходимо:
* Получить актуальные URL для загрузки
* Настроить аутентификацию (логин/пароль)
* Добавить необходимые заголовки
* Проверить требования к формату файлов
2. В реальном приложении нужно добавить:
* Обработку ошибок
* Логирование
* Валидацию данных
* Обработку токенов безопасности
3. Для работы с порталами может
потребоваться: * Специальное API-ключ
* Сертификаты безопасности
* Дополнительные параметры в запросе
Нет комментариев