我可以使用CURLOPT_POSTFIELDS设置帖子体,如'a [] = 1& a [] = 2& a [] = 3'。
当我尝试使用curl_formadd填充Multipart参数时,它总是返回CURL_FORMADD_OPTION_TWICE,我看到有一个选项CURLFORM_ARRAY,但似乎是选项,而不是多值字段。
使用curl API有没有办法做到这一点?
答案 0 :(得分:1)
curl_formadd是使用libcurl执行multipart formposts的(有用)方法。您可以也只是创建自己的缓冲区并将其作为普通帖子发送,但这需要您自己格式化所有内容,我不建议这样做。
如果你有curl_formadd的问题,你可能最好做一个尽可能小的测试并询问有关帮助。使用curl网站上的示例有curl_formadd。
答案 1 :(得分:0)
谢谢Daniel Stenberg纠正我的错。
使用curl_formadd
发布数组很容易struct curl_httppost *formpost = NULL;
struct curl_httppost *lastptr = NULL;
char* buffer = "part body";
int len = strlen(buffer);
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "name[]",
CURLFORM_BUFFER, "buffer",
CURLFORM_BUFFERPTR, buffer,
CURLFORM_BUFFERLENGTH, len,
CURLFORM_END);
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "name[]",
CURLFORM_BUFFER, "buffer",
CURLFORM_BUFFERPTR, buffer,
CURLFORM_BUFFERLENGTH, len,
CURLFORM_END);