我正在尝试从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/