GET请求本地服务的意外响应代码307

时间:2018-11-07 06:59:30

标签: android android-volley

我正在尝试连接到在.net core 2.0中编写的localhost Web服务。使用模拟器的浏览器,我能够调用它并获取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);
}

在stacktrace上,我得到以下信息:

D / NetworkSecurityConfig:未使用平台默认值指定网络安全配置 E / Volley:[403] BasicNetwork.performRequest:http://10.0.2.2:5000/api/testservice/tickerpnl?ticker=AAPL&purchaseDate=1-1-15&shares=1的意外响应代码307

再次使用堆栈跟踪中的链接,我能够将JSON数据重新粘贴到仿真器的浏览器中,但是使用JsonObjectRequest却无法使用。

请求队列被初始化为

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

1 个答案:

答案 0 :(得分:0)

我发现问题是,对于.net核心,我有将http重定向到https的代码,这就是为什么由于尝试使用http调用它而收到307错误的原因