加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 相当于cURL命令上传文件的PowerShell

发布时间:2020-12-14 02:01:10 所属栏目:Windows 来源:网络整理
导读:我可以使用以下cURL命令将HTTP POST文本文件发送到我的服务器: curl -i -F file=@file.txt http://www.website.com/put_file 服务器期待来自$_FILES [‘file’]的文件. 到目前为止,我有以下内容,但它不起作用: $url = http://www.website.com/put_file$fil
我可以使用以下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’]发送?另外,如何从服务器看到响应?

解决方法

我认为它应该是这样的:

$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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读