我目前正在处理C ++中的HTTP POST请求,但我遇到了错误。当我用以下内容设置POST数据时:
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postdata.c_str());
postdata.c_str()
等于:
cpp=1&data=zJBnu/hyK+xgm1tUOM22bL9h/9BVdqss7uc5uLHJ65lLHSTzQCSdgA36cz0/xb3juGGtSjm8P9m+4Ee6B6ot4IxMhuJBH5x3Co6L35tZRg7BhxTWO29UMtgitEo/OPBSiRVX/doZwlNBPm3v8ZRgjH8PT/W/VajqZYGvIvwK1cgBdrTeRCLE1nkEdQ2O0lg00VCU2amSBc4faty/RtTZYflpc+PQl9YKvsC+F09uZVKHORKfJPnIxg1SLUSuXNfzItJOR+VF1GVRcQmYDvVoW5JHiejMjnrVNnIMpmU35y0mzywZLYn1XUL9NhFHLTAGfxsttiTmZOLY7dgCBWTPng==&mode=0
。它是键/值对的一些参数。 Data
这里是base64编码的。
但是当我执行curl_perform()时,data
的值并不相同。所有+
都被空格所取代。所以PHP base64_decode($_POST['data'], true);
函数返回false
。
我尝试了不同的方法来避免C ++方面,但没有任何作用。