Skip to content

Instantly share code, notes, and snippets.

@ts-3156
Created August 28, 2011 13:13
Show Gist options
  • Save ts-3156/1176650 to your computer and use it in GitHub Desktop.
Save ts-3156/1176650 to your computer and use it in GitHub Desktop.
Java SE6のCookieHandlerを使うサンプル。
package main;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.CookieHandler;
import java.net.CookieManager;
import java.net.CookiePolicy;
import java.net.HttpCookie;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
public class CookieTest {
public CookieTest(){
CookieManager manager = new CookieManager();
manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(manager);
try {
URL url = new URL("http://www.synaesthesia.jp/data/test.php");
HttpURLConnection connect = (HttpURLConnection) url.openConnection();
connect.setRequestMethod("GET");
connect.setRequestProperty("Cookie", "test=abc");
connect.connect();
connect.disconnect();
BufferedReader br = new BufferedReader(new InputStreamReader(connect.getInputStream()));
String line = "";
System.out.println("**********HTMLデータ");
while((line = br.readLine()) != null){
System.out.println(line);
}
System.out.println("**********HTMLデータここまで\n");
} catch (Exception e) {
e.printStackTrace();
}
List<HttpCookie> cookies = manager.getCookieStore().getCookies();
if(cookies == null || cookies.isEmpty())
System.out.println("Cookieがセットされていません");
else{
/**
* ここで、HttpURLConnectionの前後で利用したCookieが表示されるはず?なんだけど、
* 実際は直前のif文ではじかれてこの部分にこない。
*/
for(HttpCookie cookie: cookies){
System.out.println(cookie.getName() + "=" + cookie.getValue());
}
}
}
public static void main(String[] args) {
new CookieTest();
}
}
<!--
サーバが送ったCookie、クライアントが送ったCookieを表示するサンプル。
このファイルにJavaからアクセスすることで、Cookieの値を確認しながらデバッグができる
-->
<?php
$cookie_name = '名前';
$cookie_value = '値';
setcookie($cookie_name, $cookie_value);
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
<div>GET、POSTパラメータ一覧</div>
<?php
foreach( $_GET as $key => $value ) {
echo "GET " . htmlspecialchars($key) . "=" . htmlspecialchars($value) . "<br>\n";
}
foreach( $_POST as $key => $value ) {
echo "POST " . htmlspecialchars($key) . "=" . htmlspecialchars($value) . "<br>\n";
}
?>
<br>
<div>サーバから送ったCookie</div>
<?php
echo "name=" . $cookie_name . ", value=" . $cookie_value . "<br>\n";
?>
<br>
<div>クライアントから送られたCookie</div>
<?php
foreach( $_COOKIE as $key => $value ) {
echo "Cookie " . htmlspecialchars($key) . "=" . htmlspecialchars($value) . "<br>\n";
}
?>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment