私は、特定のWebサービスを使用しようとするんだ、と私は成功し、次のコマンドを使用してアップロードを行うことができます。私は、JSONレスポンスを取り戻すWWW:Mechanizeでチャンクされた転送エンコーディングをアップロードするにはどうしたらいいですか?
curl -X POST --header "Transfer-Encoding: chunked" -d @Downloads/file.pdf https://some.webservice/upload
は成功を示しています。
しかし、私はWWW :: Mechanizeで同じことをする方法を見つけることができません。
$mech->post("https://" . $server . "/upload", Content_Type => 'multipart/form-data', Content => [upID => $upid, name => $dlfile, userID => 0, userK => 0, file_0 => [$dlfile]]);
これは、大きなfatエラーメッセージで同様のjson応答を受信します。
Transfer-Encodingヘッダーを明示的に設定する必要がありますか?それにいくつかのトリックがありますか? Googleはこれについて多くの光を漏らしていないし、Perlmonksもそうではなく、ドキュメンテーションはちょっと鈍い。
コールバックが使用されるのは、コンテンツの長さが事前にわかっているためで、コンテンツの長さがわかっている場合はチャンクエンコーディングを使用する必要がないからです。 – ikegami