我试图弄清楚如何使用curl easy,一个BYTE[100]
缓冲区(可能包含0x00
个字节)向C ++发送一个POST字段到PHP脚本。
我也需要使用HTML压缩技术。
在此之前,我在每个字节上都在sprintf("%02X")
,因此我可以用字母发送它们,但现在我需要最小化网络流量以便改善API响应时间。
我在Google上试过,但到目前为止还没有任何资源与我的问题相近。 即使没有POST字段,也不可能发送它吗? 我只需要发送我的光线BYTE []并从我的PHP脚本中获取它。
答案 0 :(得分:1)
我终于想出了一种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);