我想弄清楚如何使用 curl easy 在 C++ 中发送一个 BYTE[100]
缓冲区,它可能包含 0x00
字节,到 POST字段到 PHP 脚本。
我也需要使用 HTML 压缩技术。
在此之前,我在每个字节上执行 sprintf("%02X")
以便我可以用字母发送它们,但现在我需要最小化网络流量以改进 API 响应时间。
我在 Google 上试过了,但到目前为止还没有与我的问题相近的资源。 即使没有 POST 字段也不能发送吗? 我只需要发送我的射线 BYTE[] 并从我的 PHP 脚本中获取它。
最佳答案
我终于想出了一个 PUT 解决方案。
curl_easy_setopt(curl, CURLOPT_URL, szURL);
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
curl_easy_setopt(curl, CURLOPT_READFUNCTION, reader);
curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)dwBinarySize);
您的 CURLOPT_READFUNCTION“阅读器”函数需要提供二进制数据,请在 curl 查找文档以获取更多信息。
然后您可以通过这种方式获得在 PHP 中发送的二进制数据:
$fPut = fopen("php://input", "r");
$bInput;
while ($data = fread($fPut, 8192))
$bInput .= $data;
fclose($fPut);
关于php - 发送原始字节缓冲区后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34698468/