我正在努力与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);
我在这里做错了什么?
答案 0 :(得分:0)
我认为这是一个重复的问题。请参阅Google Closure Compiler and multipart/form-data not working。
长话短说 - 如果你将数组传递给curl_setopt,它会将Content-Type标题更改为gopart的API不支持的multipart / form-data。