让我们说.. 如果我用https://www.google.com点击谷歌,它会创建一个会话,为响应它
会创建会话tokn的url ..
https://www.google.co.in/?gfe_rd=cr&ei=oFBjVJSvLqnM8gft5YDwAQ&gws_rd=ssl
我的问题是 我用代码连接谷歌:
网址url =新网址(测试); URLConnection conn = url.openConnection();
这将连接到谷歌。 对于这个谷歌创建一个会话。
然后我如何将会话令牌返回到我的代码?
答案 0 :(得分:1)
您可以从浏览器的cookie中获取会话令牌。您可以找到Cookie设置 - >高级设置 - >隐私 - >内容设置 - > allcookie和网站数据,然后搜索www.google.com并选择sid并复制内容。
答案 1 :(得分:0)
您可以使用以下方法提取任何cookie,而不仅仅是包含会话的cookie:
由于服务器可能在一个请求中设置多个cookie,我们需要遍历响应头,查找名为" Set-Cookie"的所有头。
String headerName=null;
for (int i=1; (headerName = uc.getHeaderFieldKey(i))!=null; i++) {
if (headerName.equals("Set-Cookie")) {
String cookie = urlConn.getHeaderField(i);
getHeaderField(int index)方法返回的字符串是一系列由分号(;)分隔的name = value。第一个名称/值配对是我们感兴趣的实际数据字符串(即" sessionId = 0949eeee22222rtg"),后续的名称/值配对是我们用来管理cookie存储的元信息(当它到期时等。)。
cookie = cookie.substring(0, cookie.indexOf(";"));
String cookieName = cookie.substring(0, cookie.indexOf("="));
String cookieValue = cookie.substring(cookie.indexOf("=") + 1, cookie.length());
基本上就是这样。我们现在有cookie名称(cookieName)和cookie值(cookieValue)。
以上说明基于http://www.hccp.org/java-net-cookie-how-to.html#retrieving_cookies
中提供的示例更复杂的方法是使用CookieAccessor类:
public void getCookieUsingCookieHandler() {
try {
// Instantiate CookieManager;
// make sure to set CookiePolicy
CookieManager manager = new CookieManager();
manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(manager);
// get content from URLConnection;
// cookies are set by web site
URL url = new URL("http://host.example.com");
URLConnection connection = url.openConnection();
connection.getContent();
// get cookies from underlying
// CookieStore
CookieStore cookieJar = manager.getCookieStore();
List <HttpCookie> cookies =
cookieJar.getCookies();
for (HttpCookie cookie: cookies) {
System.out.println("CookieHandler retrieved cookie: " + cookie);
}
} catch(Exception e) {
System.out.println("Unable to get cookie using CookieHandler");
e.printStackTrace();
}
}
在您遵循的任何方法中,您需要知道持有会话ID的cookie的名称,以便您可以从中获取值。例如,java Web应用程序通常会创建一个名为&#34; JSESSIOINID&#34;
的cookie