Android Volley MalformedURLException: 无协议

Android Volley MalformedURLException: no protocol

我正在尝试使用 Volley 发送 POST headers 并接收一个 StringRequest 但我收到一个 RuntimeException 由以下原因引起:java.net.MalformedURLException:没有协议,但我有一个协议.

我发送了正确的 cookie 和令牌

这是我的代码:

HttpClient httpClient = new DefaultHttpClient();
httpPost = new  HttpPost("http://ipServer:portServer/xxx/products.json?place_id=1");

        httpPost.addHeader("Content-type", "application/json");
        httpPost.addHeader("cookie", cookieTmp);
        httpPost.addHeader("X-CSRF-Token", tokenTmp);

StringRequest request = new StringRequest(Request.Method.GET, String.valueOf(httpPost),
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Log.i("VOLLEY", response);
                        startActivity(new Intent(getApplicationContext(), 
                        MainActivity.class));
                        LoginActivity.this.finish();
                }
                }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {

                L.m("not response");
                handleVolleyError(error);

我遇到了这个异常:

E/Volley: [1070] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL org.apache.http.client.methods.HttpPost@c9461c0
      java.lang.RuntimeException: Bad URL org.apache.http.client.methods.HttpPost@c9461c0
          at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:151)
          at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114)
       Caused by: java.net.MalformedURLException: no protocol: org.apache.http.client.methods.HttpPost@c9461c0
          at java.net.URL.<init>(URL.java:589)
          at java.net.URL.<init>(URL.java:486)
          at java.net.URL.<init>(URL.java:435)
          at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:102)
          at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:97)
          at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:114) 

我在 Postman 中执行的测试工作正常。 关于可能导致此问题的任何想法?

在编码之间您使用了两种不同的代码,例如 "get" 和 "add"。

请保持一致。

先用这个试试:

 httpPost.addHeader("Content-type", "application/json"); 
 httpPost.addHeader("cookie", cookieTmp); 
 httpPost.addHeader("X-CSRF-Token", tokenTmp); 

然后是:

  httpPost.setHeader("Content-type", "application/json"); 
 httpPost.setHeader("cookie", cookieTmp); 
 httpPost.setHeader("X-CSRF-Token", tokenTmp); 

已编辑