2016-02-12 2 views
0

Я создаю обертку для API http://www.sptrans.com.br/desenvolvedores/APIOlhoVivo/Documentacao.aspx?1#docApi-autenticacao (это на португальском языке, но вы получаете идею).Код ответа 404 с использованием apache commons

Я получаю код ответа 404 при выполнении запроса POST, и я понятия не имею, почему.

Это то, что печатается:

Код ответа: 404 { "Сообщение": "Нет HTTP ресурс не найден, что соответствует запросу URI 'http://api.olhovivo.sptrans.com.br/v0/Login/Autenticar'"}

public static String executePost() { 
    CloseableHttpClient client = HttpClientBuilder.create().build(); 
    String targetURL = "http://api.olhovivo.sptrans.com.br/v0/Login/Autenticar"; 
    List<NameValuePair> urlParameters = new ArrayList<>(); 
    urlParameters.add(new BasicNameValuePair("token","3de5ce998806e0c0750b1434e17454b6490ccf0a595f3884795da34460a7e7b3")); 
    try { 
     HttpPost post = new HttpPost(targetURL); 
     post.setEntity(new UrlEncodedFormEntity(urlParameters)); 

     HttpResponse response = client.execute(post); 
     System.out.println("Response Code : " 
       + response.getStatusLine().getStatusCode()); 

     BufferedReader rd = new BufferedReader(
        new InputStreamReader(response.getEntity().getContent())); 

     StringBuffer result = new StringBuffer(); 
     String line = ""; 
     while ((line = rd.readLine()) != null) result.append(line); 

     System.out.println(result.toString()); 
     return result.toString(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return null; 
    } 
} 

ответ

0

Это выглядит из документации API (хотя я не могу прочитать португальский язык), что токен должен быть в URL-адресе, а не отправлен на него:

POST /Login/Autenticar?token={token}

Я думаю, что вы отправляете форму этой конечной точке.

Вы должны попробовать это:

String targetURL = "http://api.olhovivo.sptrans.com.br/v0/Login/Autenticar?token=3de5ce998806e0c0750b1434e17454b6490ccf0a595f3884795da34460a7e7b3"; 

И не называйте post.setEntity(...).

+0

Это было! Я, хотя пункт почтового метода был точно не использовать URL. Я не знал, что ты можешь «ничего не писать». Это первый раз, когда я занимаюсь этим. В любом случае, спасибо много! –

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