#java
#java
Вопрос:
Я пытаюсь загрузить файлы с SEC.gov , но следующий код не позволяет загрузить файл. Все файлы, загруженные с помощью этого кода, имеют размер 1 КБ.
URL Url = null;
try {
Url= new URL("http://www.sec.gov/Archives/edgar/data/769397/000076939716000079/0000769397-16-000079-xbrl.zip");
} catch (MalformedURLException e) {
e.printStackTrace();
}
String fullPathFileName = "D:\0000769397-16-000079-xbrl.zip";
File destinationFile = new File(fullPathFileName);
try {
FileUtils.copyURLToFile(Url, destinationFile);
} catch (IOException e) {
e.printStackTrace();
}
Если я использую этот же код для загрузки с другого сайта, он работает. Я также попробовал метод copuURLToFile с таймаутом подключения и таймаутом чтения.
Комментарии:
1. Какую ошибку вы получаете?
2. Я не получаю никакой ошибки. Все загруженные файлы имеют размер 1 КБ и нечитаемы. Я попытался загрузить файлы zip и XBRL XML из SEC. Gov с тем же результатом. Например: sec.gov/Archives/edgar/data/769397/000076939716000079 /…
3. Что находится в файле 1k, который вы получаете? Если у вас установлен Cygwin, что
file ...
говорится при загрузке?4. Я попробовал это и скачал этот файл — sec.gov/Archives/edgar/data/1108524/000119312509180950 /… и воспроизвел эту ошибку. Я получил обратно файл размером 1 КБ, использовал файл cygwin и перешел к следующему: файл crm-20090731_file_1.xml crm-20090731_file_1.xml : сжатые данные gzip из Unix
Ответ №1:
Проблема с FileUtils.copyURLToFile()
заключается в том, что он не дает вам никакой информации о том, что он делает. Попробуйте wget
утилиту из командной строки:
wget http://www.sec.gov/Archives/edgar/data/769397/000076939716000079/0000769397-16-000079-xbrl.zip
--2016-10-18 21:47:31-- http://www.sec.gov/Archives/edgar/data/769397/000076939716000079/0000769397-16-000079-xbrl.zip
Resolving www.sec.gov... 104.82.85.98
Connecting to www.sec.gov|104.82.85.98|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.sec.gov/Archives/edgar/data/769397/000076939716000079/0000769397-16-000079-xbrl.zip [following]
--2016-10-18 21:47:32-- https://www.sec.gov/Archives/edgar/data/769397/000076939716000079/0000769397-16-000079-xbrl.zip
Connecting to www.sec.gov|104.82.85.98|:443... connected.
ERROR: cannot verify www.sec.gov's certificate, issued by `/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3':
Unable to locally verify the issuer's authority.
To connect to www.sec.gov insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.
Вероятно, вы получили аналогичное сообщение об ошибке. Попробуйте открыть свой файл размером 1 КБ в блокноте.
Комментарии:
1. Большое спасибо за этот отличный совет! Вы решили проблему с помощью wget. HTTP перенаправлялся на HTTPS, а copyURLToFile не удался. Когда я изменил свой URL на HTTPS, он начал работать. Добрые люди из SEC ответили на мой запрос и попросили меня попробовать HTTPS.