2

簡単なphpスクリプトがあります。

$url = 'http://test.com/api/images/products/33';
$image_path = '/srv/images/some.jpg';
$key = 'qwerty';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
//curl_setopt($ch, CURLOPT_PUT, true); // Un-commet to edit an image
curl_setopt($ch, CURLOPT_USERPWD, $key.':');
curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => '@'.$image_path));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

スクリプトはうまく機能します。このコードを単純なcurlシェルコマンドに変換したいと思います。

私は試した

curl -v -X POST -d image=@/srv/images/some.jpg \
 http://qwerty@test.com/api/images/products/33

しかし、エラーが発生しました。なにが問題ですか?

4

1 に答える 1

0

-F(を使用するmultipart/form-data) の代わりに-d(を使用するapplication/x-www-form-urlencoded)を使用する必要があります。

これはうまくいくはずです:

    curl -v -X POST -F image=@/srv/images/some.jpg http://qwerty@test.com/api/images/products/33
于 2014-07-04T12:29:10.730 に答える