Неожиданный код ответа 307 для запроса GET для локальной службы - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь подключиться к локальному веб-сервису, который я написал в .net core 2.0. Используя браузер эмулятора, я смог вызвать его и вернуть данные JSON. Однако внутри моего приложения, когда я пытаюсь его получить, я получаю код ответа 307.

public void onClick(View view)
{
    String url = String.format("http://10.0.2.2:5000/api/testservice/tickerpnl?ticker=%s&purchaseDate=%s&shares=%s/"
            , tickerText.getText().toString(), dateText.getText().toString(), sharesText.getText().toString());

    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
            (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {

                @Override
                public void onResponse(JSONObject response) {
                    try
                    {
                        double pnl = response.getDouble("PNL");
                    } catch (JSONException e)
                    {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    error.printStackTrace();
                }
            });

    requestQueue.add(jsonObjectRequest);
}

На трассировке стека я получаю следующее:

D / NetworkSecurityConfig: Конфигурация безопасности сети не указана, используется платформа по умолчанию E / Volley: [403] BasicNetwork.performRequest: неожиданный код ответа 307 для http://10.0.2.2:5000/api/testservice/tickerpnl?ticker=AAPL&purchaseDate=1-1-15&shares=1

Снова используя ссылку из трассировки стека, я смог вернуть данные JSON, просто вставив их в браузер эмулятора, но почему-то они просто не будут работать с использованием JsonObjectRequest.

очередь запросов была инициализирована как

private RequestQueue requestQueue;
requestQueue = Volley.newRequestQueue(this);

1 Ответ

0 голосов
/ 13 ноября 2018

Я обнаружил, что проблема в том, что для ядра .net у меня был код, который перенаправляет http на https, поэтому я получал ошибку 307, так как пытался вызвать ее с помощью http

...