我试图从url解析json数据,当我尝试创建连接时,它会抛出异常 java.net.ProtocolException:在读取响应后无法写入请求正文
我收到了未找到的回复消息。
我检查了网页浏览器中的网址,当我登录我的凭据时,它显示了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。 请帮帮我。
答案 0 :(得分:2)
根据this link 你可以这样做:
必须在调用connect方法之前设置值:
URL myUrl = new URL("http://www.hccp.org/cookieTest.jsp");
URLConnection urlConn = myUrl.openConnection();
创建一个cookie字符串:
String myCookie = "userId=igbrown";
将cookie添加到请求中:使用 setRequestProperty(String name,String value);方法,我们将添加一个 名为“Cookie”的属性,传递在中创建的cookie字符串 上一步作为属性值。
urlConn.setRequestProperty("Cookie", myCookie);
将cookie发送到服务器:要发送cookie,只需在URLConnection上调用connect()即可 我们为其添加了cookie属性:
urlConn.connect()