.net - PowerShell等效于curl HTTP POST的文件传输

标签 .net powershell curl

我目前正在通过HTTP帖子上传文件,调用如下:

curl --verbose --data-binary @C:\Projects\TestUploadFiles\TestFile1.csv "http://client.abc.com/submit?username=UserX&password=PasswordHere&app=test1&replacejob=TestNewJob&startjob=n"

这很好。但是,实际上我每天大约要上传3000个文件-目录中的每个文件。我正在考虑只写一个包含多个cURL命令的批处理文件,每个文件一个。但这将给我留下打开和关闭每个文件一次连接的开销,对吗?

因此,我正在考虑使用PowerShell。我不熟悉它,但是我相信可以为此目的使用WebRequest。

这将是个好选择吗?任何代码示例指针?

最佳答案

从理论上讲...

curl --verbose --data-binary @C:\Projects\TestUploadFiles\TestFile1.csv "http://client.abc.com/submit?username=UserX&password=PasswordHere&app=test1&replacejob=TestNewJob&startjob=n"

可以使用System.Net.WebClient.UploadFile代替它。例如,要上传当前目录中的所有CSV文件:
$wc = new-object System.Net.WebClient
ls *.csv | foreach {
    $wc.UploadFile( 'http://client.abc.com/submit?username=UserX&password=PasswordHere&app=test1&replacejob=TestNewJob&startjob=n', $_.FullName )
}

关于.net - PowerShell等效于curl HTTP POST的文件传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8506533/

相关文章:

ruby - 在 Ubuntu 14.04 中使用 Curl 安装 RVM 时出错

php - 如何使用 Guzzle 获取 Facebook 页面信息

c# - BitConverter.ToString() 反过来?

.net - 为什么非 UI 线程能够修改 WinForm 和 TPL 中的 UI 控件?

windows - 在 Powershell 中禁用位置参数绑定(bind)

Powershell 使用选择字符串访问文件 - 访问被拒绝

c# - 以不区分大小写的方式查找子字符串 - C#

.net - window 电话 7 : Existing Libraries Not Supported?

powershell - 如何在Windows 10中设置静态IP地址?

php - 在 linux 中使用 cURL 上传 http 文件(命令行)