我有以下可正常工作的cURL PHP函数
null
我想手动构建CURLOPT_POSTFIELDS,所以试图传递一个数组,就像这样......
curl_setopt_array($curl, array(
CURLOPT_URL => "http://example.com/api",
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"api\"\r\n\r\n123344\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW"
),
));
但这并没有给我任何回应,有人能指出我做错了吗?
答案 0 :(得分:1)
您还可以将http_build_query()用于发布数据
URLOPT_POSTFIELDS => http_build_query($data)
答案 1 :(得分:0)
http://php.net/manual/en/function.curl-setopt.php:
如果value是数组,则Content-Type标头将设置为
multipart/form-data
。
所以不要自己动手,让cURL来处理它。
它知道multipart/form-data
如何工作,并将为您创建包含边界的请求体。