2016-09-15 12 views
3

volleyライブラリを使用してネットワークリクエストを行っているときにこのエラーが発生しました。私はこれらのリンクAndroid Volley - BasicNetwork.performRequest: Unexpected response code 400Unexpected response code 404 volleyを追跡しましたが、私の場合は動作しません。ここに私のリクエストコードがありますAndroid Volley BasicNetwork.performRequest()予期しない応答コード404

StringRequest stringRequest = new StringRequest(Request.Method.POST,AppConstants.LOG_IN_API , new Response.Listener<String>() { 
      @Override 
      public void onResponse(String response) { 
       Log.d("TAG", "Login Response: " + response.toString()); 
       try { 
        JSONObject jsonObject = new JSONObject(response); 
        Log.v("USerid",""+jsonObject.getInt("userid")); 

       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 

      } 
     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError volleyError) { 
       System.out.println("volley Error ................."+volleyError); 
      } 
     }) { 
      @Override 
      protected Map<String, String> getParams() throws AuthFailureError { 
       Log.v("getparams","Is called"); 
       Map<String, String> params = new HashMap<String, String>(); 
       params.put(AppConstants.USER_ID, "[email protected]"); 
       params.put(AppConstants.PASSWORD, "123456"); 
       return params; 
      } 


      @Override 
      public Map<String, String> getHeaders() throws AuthFailureError { 
       HashMap<String, String> headers = new HashMap<String, String>(); 

       headers.put("Content-Type", "application/json; charset=utf-8"); 
       return headers; 
      } 

     }; 

     Log.v("Request",""+stringRequest); 

     AppController.getInstance().addToRequestQueue(stringRequest); 

    } 

私のコードでどこが間違っているのか教えていただけますか?どんな助けも受け入れられます。

+0

コード404は、リソースがサーバー上に存在しないことを意味します。 URLは正しいですか? – Henry

+0

https://en.wikipedia.org/wiki/HTTP_404これはページが見つからないことを意味します。あなたのURLを確認してください – Cliff

+0

はいサー・ヘンリー私のURLは正しいです、私は郵便配達所でそれをチェックし、そこで働いています。 –

答えて

2

一般的にこの応答は、URLに間違ったパラメータを送信することによって発生します。すべてのパラメータをスペルチェックして、文字列またはオブジェクトで応答が得られるかどうかを確認してください。また、Content-typeもチェックしてください。

希望すると、これが役立ちます。
ありがとうございます。

+0

mam、私は両方のパラメータとURLをチェックしている、正しいです、私はgetParamsメソッドをオーバーライドしない場合、このような私のURLを使用してください.http://api.netdesk.in/api/Login?Userid = info @ mindtears .com&password = 123456、私は応答を得る、私はパラメータがgetParamsメソッドを使用して渡されない理由を知りたい。 –

0

このコードでapiを試してみて、応答を確認してください。

StringRequest stringRequest = new StringRequest(Request.Method.POST, ApiURL.LOGIN_URL, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        Log.e("Response", response); 
       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        Log.e("Response", error.toString()); 
       } 
      }) { 
     @Override 
     protected Map<String, String> getParams() { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("email", email.getText().toString()); 
      params.put("password", password.getText().toString()); 
      return params; 
     } 

     @Override 
     public Map<String, String> getHeaders() throws AuthFailureError { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("Content-Type", "application/x-www-form-urlencoded"); 
      return params; 
     } 
    }; 

    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    requestQueue.add(stringRequest); 

} 
+1

新しい2番目の回答を投稿するのではなく、1番目の回答を編集した方がよいでしょう。 !! – Piyush

-2

私は間違ってPOSTの代わりにGETリクエストを入れました。変更して、404レスポンスの問題を解決しました。

0

getHeaders()を削除すると、私の問題が解決しました。

+0

それはむしろコメントのように聞こえる。あなたは本当に役に立つ答えを提供するために、より多くのコンテンツを追加する必要があります。あなたは、その方法は何とか実装する必要があることがわかります。あなたは単にそれを "削除"することはできません。 – GhostCat

+0

これは質問に対する答えを提供しません。十分な[評判](https://stackoverflow.com/help/whats-reputation)があれば、[投稿にコメントする]ことができます(https://stackoverflow.com/help/privileges/comment)。代わりに、[質問者からの明確化を必要としない回答を提供する](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- i-do-代わりに)。 - [レビューから](/レビュー/低品質の投稿/ 17482740) – Nate

関連する問題