cURL postfields问题

时间:2013-07-03 14:04:43

标签: php curl google-closure-compiler

我正在努力与Google's Closure Compiler合作,不幸的是我偶然发现了cURL的postfields问题。这似乎是当我在这里指定一个数组时,它不会像它应该的那样工作。

将数组传递给像这样的postfield:

curl_setopt($this->curl, CURLOPT_POSTFIELDS, [
    "output_info"       => "compiled_code",
    "output_format"     => "text",
    "compilation_level" => "SIMPLE_OPTIMIZATIONS",
    "js_code"           => urlencode($jsCode),
]);
$result = curl_exec($this->curl);
var_dump($result);

我从Google收到错误13,表示我没有设置output_info参数。但是,当我将postfields作为文字字符串传递时,如下所示,一切都运行良好,我在响应中得到缩小的JS代码。

curl_setopt($this->curl, CURLOPT_POSTFIELDS, 'output_info=compiled_code&output_format=text&compilation_level=SIMPLE_OPTIMIZATIONS&js_code=' . urlencode($jsCode));
$result = curl_exec($this->curl);
var_dump($result);

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

我认为这是一个重复的问题。请参阅Google Closure Compiler and multipart/form-data not working

长话短说 - 如果你将数组传递给curl_setopt,它会将Content-Type标题更改为gopart的API不支持的multipart / form-data。