これはできますか?私は次のような例を見ています
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'variable' => '@path/to/file;type=application/json'
));
しかし、変数値として文字列を渡す場合、この MIME タイプを設定できません。私がインターフェースしている API は、この MIME タイプを application/json に設定することを明示的に要求していますが、ファイルを使用しない限り、curl ライブラリで設定できないようです。例えば:
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'variable' => 'json_string;type=application/json'
));
最後に type=application/json が追加された文字列のみを出力します (これは理にかなっています)。
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'variable' => sprintf('@%s;type=application/json', $json_string)
));
表向きはファイルが見つからないため (?)、ボディに何も渡せません。
一時ファイルを書き出したり、独自の投稿リクエストを作成したりせずに、この MIME タイプを明示的に設定する方法についてのアイデアはありますか?