【问题标题】:How to upload files to anonfiles with powershell如何使用 powershell 将文件上传到匿名文件
【发布时间】:2021-01-05 10:56:18
【问题描述】:

所以我对 powershell 有点陌生,想制作一个简单的脚本,将所选文件上传到 anonyfiles。我遇到的问题是上传到 api 我已经设法通过 cmd 上传它,但现在我希望我可以通过 powershell 来完成。

我通过cmd上传文件的命令是:

curl -F "file=@C:\Eclips-Terminal\Websites.csv" https://api.anonfiles.com/upload

重新声明:

  • 将文件上传到匿名文件 (https://anonfiles.com/)
  • 如果可能,将输出过滤为仅包含短 url。

网址:

欢迎所有帮助。

【问题讨论】:

  • 经过更多测试后,它也不想从批处理脚本运行,也许你们中的一些人运气更好,但对我来说它不会工作。
  • 你试过 Copy-Item 吗?
  • 不,我会调查的。
  • @WalterMitty 那怎么工作?我只能看到你可以复制文件,但是如何将它上传到 api?
  • 好的,我误解了你想要做什么。网上有一些关于在 powershell 中使用 cURL 的文章。

标签: powershell file-upload upload


【解决方案1】:

在 powershell 中,curlInvoke-WebRequest 的别名。

get-alias curl

CommandType     Name                                               Version    Source                   
-----------     ----                                               -------    ------                   
Alias           curl -> Invoke-WebRequest

您仍然可以在 powershell 中运行任何可以在 cmd 中运行的可执行文件,只需指定可执行文件即可。

curl.exe -F "file=@C:\Eclips-Terminal\Websites.csv" https://api.anonfiles.com/upload?token=<YOUR API KEY>

您会注意到红色文本,这不是错误,而是 curl.exe 将进度写入 stderr 流的方式,在 powershell 中显示为红色。我毫不怀疑您可以在 curl.exe 上使用一个开关/参数来省略此进度输出,但一种简单的方法是将 stderr 传送到 $null

curl.exe -F "file=@C:\Eclips-Terminal\Websites.csv" https://api.anonfiles.com/upload?token=<YOUR API KEY> 2>$null

最后,如果您将剩余的输出捕获到一个变量中,那么您可以从中提取您的短网址。

$output = curl.exe -F "file=@C:\Eclips-Terminal\Websites.csv" https://api.anonfiles.com/upload?token=<YOUR API KEY> 2>$null

($output | ConvertFrom-Json).data.file.url.short

【讨论】:

  • 非常感谢 cmd 命令运行良好,我什至可以在没有密钥的情况下下载文件。这很可能与您不需要帐户即可使用匿名文件有关。
  • 我明白了。我会更新帖子的,谢谢。其余的是否满足您的期望?
猜你喜欢
  • 2017-11-16
  • 2016-12-08
  • 2017-02-11
  • 2014-05-15
  • 2013-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多