我已成功地使用httpclient登录到网站并打印出启用该登录的cookie。 但是,我现在卡住了,因为我想使用.setPage(url)函数在JEditorPane中显示后续页面。然而,当我做到这一点,使用Wireshark的分析我的GET请求,我看到的是,用户代理是不是我的HttpClient但以下几点:HttpClient - Cookie和JEditorPane
的User-Agent:的Java/1.6.0_17
的GET请求(这是编码在jeditorpane的setPage(URL url)方法的某处)没有使用httpclient检索到的cookie。我的问题是 - 我怎样才能以某种方式传输用httpclient接收的cookie,以便我的JEditorPane可以显示来自站点的URL? 我开始认为这是不可能的,我应该尝试使用普通的Java URLconnection等登录,但宁愿坚持httpclient,因为它更灵活(我认为)。据推测,我仍然有一个问题,饼干?
我曾想过扩展JEditorPane类并覆盖setPage(),但我不知道实际的代码,我应该把它放在它似乎无法找到如何setPage()实际工作。
任何帮助/建议将不胜感激。
戴夫
您在这里遇到的问题是,当您调用setPage()时,HttpClient和JVM用于获取URL的底层实现是完全不同的动物。因此,cookies不会神奇地结转。 – stevevls 2011-04-26 16:04:18
@stevevls,我认为这可能是这种情况。所以如果我使用Urlconnection路线,他们会自动继续吗?感谢您的帮助 – user725687 2011-04-26 16:20:49
所以我想我已经想出了如何去做你想做的事情。看看答案,如果它适合你,请接受它。祝你好运! – stevevls 2011-04-26 18:33:02