7

次の cURL コマンドを使用して、HTTP POST テキスト ファイルをサーバーに送信できます。

curl -i -F file=@file.txt http://www.website.com/put_file

サーバーは $_FILES['file'] からのファイルを予期しています。

私はこれまでのところ以下を持っていますが、機能していません:

$url = http://www.website.com/put_file
$file = "c:\file.txt"
$wc = new-object System.Net.WebClient
$wc.UploadFile($url, $file.FullName)

0 を返し、サーバーにアップロードされませんでした

ファイルを $_FILES['file'] として送信するにはどうすればよいですか? また、サーバーからの応答を確認するにはどうすればよいですか?

4

4 に答える 4

9

私はそれが次のようなものであるべきだと思います:

$body = "file=$(get-content file.txt -raw)"
Invoke-RestMethod -uri http://www.websetite.com/put_file -method POST -body $body

注: これには PowerShell V3 が必要です。-ContentTypeまた、パラメーターを として指定する必要がある場合もあります"application/x-www-form-urlencoded"Fiddler2を入手し、それを使用して curl と Inovke-RestMethod の両方のケースで要求を検査し、irm パラメーターを正しく取得することをお勧めします。これは、ファイルの内容がかなり小さく、非バイナリであることを前提としています。そうでない場合は、おそらくコンテンツ タイプ multipart/form-data に移動する必要があります。

于 2013-04-22T01:08:57.550 に答える