我正在尝试从url解析json数据,当我尝试创建connection时,它会抛出异常
java.net.ProtocolException:读取响应后无法编写请求正文

我收到未找到的响应消息。

并且我在Web浏览器中检查了URL,并在登录我的凭据时显示了Json数据。

因此,我发现我需要将cookie添加到我的连接中,但是我不知道该怎么做。

    public void parseData(String cookie){
    HttpUrlConnection connection;

    try{
    URL url = new URL(params[0]);
                    connection = (HttpURLConnection) url.openConnection();

                    connection.setRequestProperty("Cookie", cookie);
                    Log.e(TAG, "cookie " + cookie);

                    connection.setDoOutput(true);
                    connection.setDoInput(true);
                    connection.setRequestMethod("GET");

                    connection.connect();
Log.e(TAG,connection.getResponseMessage());

    /**
    here i'm trying to parse the data
    using BufferedReader calss
    **/

    }
    catch(IOException e){}
    }


我需要添加连接中的cookie。
请帮我。

最佳答案

根据this link
 你可以这样做:


  必须在调用connect方法之前设置值:


URL myUrl = new URL("http://www.hccp.org/cookieTest.jsp");
URLConnection urlConn = myUrl.openConnection();



  创建一个cookie字符串:


String myCookie = "userId=igbrown";



  将Cookie添加到请求中:使用
  setRequestProperty(字符串名称,字符串值);方法,我们将添加一个
  名为“ Cookie”的属性,传递在
  上一步作为属性值。


urlConn.setRequestProperty("Cookie", myCookie);



  将cookie发送到服务器:要发送cookie,只需在URLConnection上调用connect()
  为此,我们添加了cookie属性:


urlConn.connect()

关于android - 如何使用android中的HttpUrlConnection类将cookie添加到url?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36834932/

10-09 05:43
查看更多