http web request from batch file

2020-02-09 09:09发布

问题:

I need to execute a http web request from Plesk's Task Scheduler (using shared hosting on Windows/ASP.NET; no Powershell, whatsoever). Thought about using a batch file for this.

Is there an easy way to do this?

回答1:

Take a look at curl. It's a cross-platform command-line tool for making web requests (similar to wget if you've used that before). You should be able to call that from your batch file.



回答2:

Without external binaries - only the built-in windows capabilities -> https://github.com/npocmaka/batch.scripts/blob/master/hybrids/jscript/winhttpjs.bat

This is jscript/.bat hybrid and can be called like simple bat. Example usage (I've used http://requestb.in/ for test purposes):

  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 files format should look like (if passed with -header command argument):

Header-1: Value-1
ExampleHeader: Value2


回答3:

You can try using wget for Windows.



回答4:

What are you allowed to install? Could you use wget for Windows for instance? Or write a .NET executable which does everything you need it to using WebClient or HttpWebRequest?



回答5:

I would suggest either wget or curl. Win32 versions are available for both.



回答6:

The "curl" utiliity which is basically a command line wrapper for the wonderful libcurl library will handle almost any http request or response. Its freely available for free.