0

curlリクエストでjson形式でデータを送信しようとしています。だから私の体はこうなっている

$body = json_encode($array);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($body),
'Content-Md5: ' . base64_encode(md5($body, true))
));

この方法でコンテンツ ヘッダーを設定できます --header "Content-Type: application/json" しかし、コンテンツ本文に送信するファイルがある場合、コンテンツ タイプ ヘッダー application/json は機能しますか? ボディにファイルが含まれている場合、コンテンツ タイプ ヘッダーを変更する必要がありますか?

4

1 に答える 1

0

いいえ、はい、ブラウザをシミュレートしてファイルを「選択」し、それらをサーバーに「アップロード」することについて話している場合、ヘッダーは次のように変わります

Content-Type: multipart/form-data;

一方、コマンド ラインで長い文字列の代わりにテキスト ファイルを使用することについて話している場合は、いいえ。curl コマンドラインを使用して、send/post xml ファイルで回答のメモを読む

于 2013-04-12T13:13:35.237 に答える