2014-02-17 3 views
0

Я пытаюсь получить данные из API http://openexchangerates.org, используя Apache Commons VFS. Я получаю ошибки, которые подразумевают, что он пытается использовать проверку SSL - не то, что у меня есть через мой план с веб-сайтом. Есть ли способ, которым я могу «заставить» VFS использовать http, а не https?Остановить Apache Commons VFS от попыток использования SSL

Соответствующие точки огромного трассировки стека включены ниже - подробнее может быть предоставлена ​​в случае необходимости:

org.apache.commons.vfs2.VFS.getManager().resolveFile("http://openexchangerates.org/api/latest.json?api_id=MY_APP_ID") 
org.apache.commons.vfs2.FileSystemException: Could not connect to HTTP server on "openexchangerates.org". 

Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 

Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 

ответ

1

Сайт посылает редирект на версию протокола HTTPS. Поэтому он не поддерживает http. Клиент http будет автоматически перенаправляться, и вам необходимо настроить его для правильной проверки.

Вот, как я проверил это:

$ curl -v http://openexchangerates.org/api/latest.json?api_id=MY_APP_ID 
* Connected to openexchangerates.org (185.24.96.251) port 80 (#0) 
> GET /api/latest.json?api_id=MY_APP_ID HTTP/1.1 
> User-Agent: curl/7.30.0 
> Host: openexchangerates.org 
> Accept: */* 

< HTTP/1.1 301 Moved Permanently 
< Date: Mon, 05 Jan 2015 23:37:18 GMT 
< Server: Apache 
< Location: https://openexchangerates.org?missing_app_id=true 
+0

Спасибо за объяснение! – Serenthia

 Смежные вопросы

  • Нет связанных вопросов^_^