0

WoT Dossierサービスを使用して dossier を JSON に変換しようとしていますが、 FAQに次の cURL の例が示されています。

curl --data-binary @dossier.dat http://wot-dossier.appspot.com/service/dossier-to-json

何がうまくいかないのかと何時間も頭を悩ませた後、私には運がありませんでした。コマンドを複製するために私が使用するコード(PHP)は次のとおりです。

$url = "http://wot-dossier.appspot.com/service/dossier-to-json";

$file = realpath('dossier_temp/' . $full_fn);

echo $file;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/octet-stream"));
curl_setopt($ch, CURLOPT_POSTFIELDS, array("@$file"));

$curl_res = curl_exec($ch);

curl_close($ch);

$json = json_decode($curl_res, true);

jsonの Avar_dump()は NULL を示していますが、これはどうしてでしょうか? ポストフィールドのどこかにエラーがありますか?

どんな助けでもいただければ幸いです

4

1 に答える 1

1

ポストフィールドに配列を含めないでください。これを試してください。あなたの投稿は生のデータストリームである必要があるようです。

$data = file_get_contents($file);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
于 2013-07-29T02:23:39.653 に答える