14

我需要从 Plesk 的 Task Scheduler 执行一个 http web 请求(使用 Windows/ASP.NET 上的共享主机;无论如何都没有 Powershell)。考虑过为此使用批处理文件。

是否有捷径可寻?

4

6 回答 6

21

看看curl。它是一个用于发出 Web 请求的跨平台命令行工具(类似于 wget,如果您以前使用过它)。您应该可以从批处理文件中调用它。

于 2009-01-07T15:12:18.710 回答
21

没有外部二进制文件 - 只有内置的 Windows 功能 -> https://github.com/npocmaka/batch.scripts/blob/master/hybrids/jscript/winhttpjs.bat

这是jscript/.bat混合的,可以像简单的蝙蝠一样被称为。示例用法(我使用http://requestb.in/进行测试):

  call winhttpjs.bat "http://requestb.in/xxxxxx" -method POST -header hdrs.txt -reportfile reportfile2.txt
   
  call winhttpjs.bat "http://requestb.in/xxxxxx" -method GET -header hdrs.txt -reportfile reportfile3.txt -saveTo c:\somezip.zip 

  call winhttpjs.bat "http://requestb.in/xxxxxx" -method POST -header hdrs.txt -reportfile reportfile2.txt -saveTo responsefile2 -ua "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"  -body-file some.json

头文件格式应如下所示(如果使用-header命令参数传递):

Header-1: Value-1
ExampleHeader: Value2

不支持多部分请求(尽管我计划添加这样的功能(某天))

于 2015-04-03T12:47:52.060 回答
4

您可以尝试使用wget for Windows

于 2009-01-07T15:10:32.957 回答
3

你允许安装什么例如,您可以在 Windows上使用wget吗?或者编写一个 .NET 可执行文件来完成您使用 WebClient 或 HttpWebRequest 所需的一切?

于 2009-01-07T15:11:45.327 回答
1

我建议wgetcurl。Win32 版本适用于两者。

于 2009-01-07T15:12:19.647 回答
0

“curl”实用程序基本上是美妙的 libcurl 库的命令行包装器,它将处理几乎任何 http 请求或响应。它免费免费提供。

于 2009-01-07T15:14:11.327 回答