我正在使用HttpClient 4.1.1来测试我的服务器的REST API.
我可以设法登录似乎工作正常,但当我尝试做任何其他事情我失败了.
我很可能在下一个请求中设置cookie时遇到问题.
这是我目前的代码:
HttpGet httpGet = new HttpGet(<my server login URL>);
httpResponse = httpClient.execute(httpGet)
sessionID = httpResponse.getFirstHeader("Set-Cookie").getValue();
httpGet.addHeader("Cookie", sessionID);
httpClient.execute(httpGet);
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来管理HttpClient包中的会话/ cookie设置?
我有以下(缩短)struts2动作:
public class MyAction extends BaseAction implements CookiesAware {
public String execute() {
if (cookiesMap.containsKey("BLAH"))
blah=Integer.parseInt(cookiesMap.get("BLAH"));
return "success";
}
// For handling cookies
Map<String, String> cookiesMap;
@Override
public void setCookiesMap(Map<String, String> cookiesMap) {
this.cookiesMap = cookiesMap;
}
}
Run Code Online (Sandbox Code Playgroud)
当我执行'cookiesMap.containsKey'时,我得到一个空指针异常 - 在我看来,没有调用setCookiesMap.我已经实现了CookiesAware界面,所以我认为它应该被调用 - 我错过了什么吗?
谢谢