java post 请求携带cookie
时间: 2023-05-24 07:03:06 浏览: 630
A:
Java中使用POST请求提交数据,并携带Cookie可以使用以下代码:
```java
URL url = new URL("http://example.com/api");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Cookie", "cookie_name=cookie_value");
String data = "{\"key1\":\"value1\", \"key2\":\"value2\"}";
OutputStream os = conn.getOutputStream();
os.write(data.getBytes());
os.flush();
os.close();
int responseCode = conn.getResponseCode();
InputStream is;
if (responseCode == HttpURLConnection.HTTP_OK) {
is = conn.getInputStream();
} else {
is = conn.getErrorStream();
}
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
String responseData = response.toString();
```
在这个示例中,我们使用`HttpURLConnection`发送POST请求,并在请求中设置了`Content-Type`和`Cookie`头。
首先,我们建立一个URL以指定请求的URL。然后,我们打开URL连接,设置HTTP请求方法和一些其他请求属性。此外,我们打开了一个输出流,并将请求数据写入流中。然后,我们发送请求并等待响应。
最后,我们从响应中读取数据并关闭输入流。我们将响应数据保存在一个字符串中并返回该字符串。
注意:这里使用的是字符串形式的Cookie,如果是已经解析成Cookie对象的话,需要将Cookie格式化为字符串再设置到请求头中。
阅读全文