quick-cocos2d-x cookie每次都改变的问题

在使用Quick 3.2rc1版本进行网络请求时,通过Lua代码设置Cookie的方法存在问题,导致每次返回的Cookie列表不一致。通过对libquick源码的修改,确保了每次返回的Cookie保持一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我使用的quick版本是3.2rc1版本

在lua代码中设置cookie的使用方法

local tr  = network.createHTTPRequest(onRequestFinished, completeUrl, method)

tr:setCookieString(cc.FileUtils:getInstance():getWritablePath()..'cookie.txt')

tr:start()

      按此方法设置之后发现每次返回的cookie列表是变化的

     原因如下:

libquick 的c++代码:

void HTTPRequest::setCookieString(const char *cookie)
{
      CCAssert(m_state == kCCHTTPRequestStateIdle, "HTTPRequest::setAcceptEncoding() - request not idle");
curl_easy_setopt(m_curl, CURLOPT_COOKIE, cookie ? cookie : ""))
}

修改为

void HTTPRequest::setCookieString(const char *cookie)
{
    CCAssert(m_state == kCCHTTPRequestStateIdle, "HTTPRequest::setAcceptEncoding() - request not idle");
    if (cookie) {
        if (CURLE_OK !=curl_easy_setopt(m_curl,CURLOPT_COOKIEFILE, cookie)) {
            printf("cookie enable failed");
        }
        if (CURLE_OK !=curl_easy_setopt(m_curl,CURLOPT_COOKIEJAR, cookie)) {
            printf("cookie enable failed");
        }
    }
}

这样就保证每次返回的cookie都一致了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值