首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpUrlConnection Cookie

HttpUrlConnection Cookie
EN

Stack Overflow用户
提问于 2014-02-21 17:01:28
回答 2查看 1.1K关注 0票数 0

我的代码工作正常,但服务器返回2个Set-Cookie。问题是会话ID在第一个会话ID中,而getHeaderField(" Set-Cookie ")只返回最后一个Set-Cookie。我怎么才能得到第一个呢?这是我所指的图片:

http://www.pic-upload.de/view-22334619/Unbenannt.png.html

代码语言:javascript
复制
import java.awt.BufferCapabilities;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.CookieHandler;
import java.net.CookieManager;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import java.net.URLEncoder;
import java.util.List;
import java.util.Scanner;

import javax.net.ssl.HttpsURLConnection;

import org.omg.CORBA.portable.OutputStream;

public class main {
public static void main(String[] args) throws IOException {
CookieHandler.setDefault(new CookieManager());
String rawData = "";
String type = "application/x-www-form-urlencoded";
URL u = new URL("http://speed.die-kreuzzuege.de/index.php?action=login&user=USERNAME&pw=PW&antibot=&guest=&check=");
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty( "Content-Type", type );
java.io.OutputStream os = conn.getOutputStream();

String cookie = conn.getHeaderField("Set-Cookie");
    if (cookie != null)
           System.out.println("cookie: " + cookie)
}
}
EN

回答 2

Stack Overflow用户

发布于 2014-02-21 17:29:09

尝试使用getHeaderFields()。它返回一个Map<String, List<String>>,这样您就可以获得Headers值的列表:

代码语言:javascript
复制
    for(String cookie : conn.getHeaderFields().get("Set-Cookie")){
        System.out.println("cookie: " + cookie);
    }

希望能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2017-03-19 04:56:21

我的代码

代码语言:javascript
复制
Map<String, List<String>> map = con.getHeaderFields();
            for (Map.Entry<String, List<String>> entry : map.entrySet()) {
                System.out.println("Key : " + entry.getKey() +
                        " ,Value : " + entry.getValue());
            }

            String cookie = con.getHeaderField("Set-Cookie");
            SharedPreferences.Editor editor = mSettings.edit();
            editor.putString(APP_PREFERENCES_COOKIE, cookie);
            editor.apply();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21929726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档