java post 请求携带cookie
时间: 2023-05-24 20:03:42 浏览: 64
A:
在Java中发送带有Cookie的POST请求,可以使用HttpURLConnection类。下面是一个示例:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class HttpPost {
public static void main(String[] args) {
try {
// 创建URL对象
URL url = new URL("http://example.com/post");
// 创建HttpURLConnection对象
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// 设置Cookie
String cookie = "cookie_name=cookie_value";
conn.setRequestProperty("Cookie", cookie);
// 设置POST请求参数
String data = "param1=" + URLEncoder.encode("value1", "UTF-8") + "&";
data += "param2=" + URLEncoder.encode("value2", "UTF-8");
// 发送POST请求
conn.getOutputStream().write(data.getBytes("UTF-8"));
// 读取响应
BufferedReader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
上述代码中,我们首先创建一个URL对象来指定POST请求的地址。然后,我们创建一个HttpURLConnection对象,并设置请求方法为POST,并告诉服务器请求数据类型为"application/x-www-form-urlencoded"。
接下来,我们设置Cookie,然后将POST请求参数设置为"data"字符串。最后,我们使用OutputStream将POST请求参数写入连接,并读取服务器的响应。