java代码获取服务器响应头的cookies
时间: 2024-05-12 19:19:16 浏览: 13
可以使用Java的HttpURLConnection类来获取服务器响应头的cookies,示例代码如下:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
import java.util.Map;
public class GetCookiesFromResponseHeader {
public static void main(String[] args) throws Exception {
String url = "http://www.example.com/";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
System.out.println("Response Code : " + responseCode);
Map<String, List<String>> headers = con.getHeaderFields();
List<String> cookies = headers.get("Set-Cookie");
if (cookies != null) {
for (String cookie : cookies) {
System.out.println(cookie);
}
}
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
}
}
```
在上面的代码中,我们首先创建一个URL对象,然后使用HttpURLConnection类来发送GET请求。接着,我们可以通过调用getResponseCode()方法来获取服务器的响应码,并通过getHeaderFields()方法获取所有响应头的内容。如果响应头中包含Set-Cookie字段,则说明服务器返回了cookies。最后,我们还可以通过读取服务器的响应体来获取其他的数据。