2017-04-26 11 views
1

私は "curl -L --post302 -request PUT --data-binary @file"を使ってリダイレクトされたアドレスにファイルを投稿しています。現時点では、リダイレクトは署名付きヘッダーと新しい宛先を許可するため、オプションではありません。 GETバージョンはうまくいきます。特定のファイルサイズのしきい値のPUTバージョンも機能します。最初のリクエスト(redirectorURL)にファイルを送信せずに、PUTがリダイレクトされ、POSTが新しいURLにリダイレクトされたときにのみファイルを送信する方法が必要です。言い換えれば、私は同じファイルを2回転送したくないということです。これは可能ですか? RFC(https://tools.ietf.org/html/rfc2616#section-8.2)によれば、サーバは100(未だ待機状態)の状態で100 "を送信し、クライアントがペイロードを送信することを要求することなくHTTP/1.1要求にのみ適用するように見える"のためにサーバーによって妨害される可能性があります。 1回のカールコールでこれを回避する方法はありますか?そうでなければ、2つのカールコール?最初のPOSTを送信せずにCurlリダイレクト

答えて

1

curl -L -T file $URLを、そのファイルをPUTするより適切な方法として試してください。可能であれば、-X--requestは避けなければなりません。

curlはこの場合、「Expect:100」を単独で使用しますが、とにかくそれをサポートすることを気にしないので、それはおそらく2回PUTする必要があります。

関連する問題