cocos2dx的httpclient请求,enableCookies但是cookie仍然失效的bug

softadmin 2018-2-28 1473

cocos2dx的httpclient请求,enableCookies但是cookie仍然失效的bug

pc端正常,网上有人遇到同样的情况,但是做法却并不对。以下给出正确的原因分析。
httpclient类在不同平台的实现是不同的。在android上的实现,是在HttpClient-android.cpp文件中的!以下是android平台的cookie保存的方法:
char* cookiesInfo = urlConnection.getResponseHeaderByKey("set-cookie");
if (nullptr != cookiesInfo)
{
urlConnection.saveResponseCookies(cookiesInfo, strlen(cookiesInfo));
}
free(cookiesInfo);



很显然,这个代码是有问题的,因为它只是存储了最新的cookie信息,而对于之前已经有的cookie信息,它没有处理了!但实际不应该如此。cookie应该是本地有效的cookie + set-cookie的结果。因此,这个代码就不对了。如果一定要做到尽善尽美,显然还得考虑各种,比如cookie的过期时间的更新等等。


具体代码不贴出,各位自行修改实现吧。


——9527软件工作室






最新回复 (0)
返回