Kur*_*urt 2 powershell curl command-prompt
事实证明这比我想象的要困难得多(而且可能应该是这样).
我已经尝试过Cygwin + curl,但是无法运行(Cygwin永远无法找到curl.exe,但我确实进行了包检查,它就在那里).
我已经使用命令提示符尝试了Windows的curl,它可以工作.但我有很多网址需要检查并单独进行,只是时间效率不高.我无法弄清楚如何通过cmd提示告诉curl使用这里提到的文件(因为没有"xargs").
我也尝试过使用PowerShell,但这也存在问题.当我尝试在这里遵循选项1时
我尝试运行时遇到错误$xHTTP.open("GET",$url,$false):
使用"3"参数调用"open"的异常:"未指定的错误(来自HRESULT的异常:0x80004005(E_FAIL))"
同样使用PowerShell,我完全不知道如何使用包含url的文件.我对PS的了解非常有限(如不存在).
这里最好的是弄清楚如何让命令提示符/ curl使用文件,但我无法弄明白.
使用PowerShell V3有一种更直接的方法:
PS> Get-Content .\urls.txt
http://www.cnn.com
http://www.msn.com
PS> Get-Content urls.txt | Foreach { Invoke-WebRequest -Uri $_ -Method HEAD }
StatusCode : 200
StatusDescription : OK
Content :
RawContent : HTTP/1.1 200 OK
Vary: Accept-Encoding
Connection: Keep-Alive
Cache-Control: max-age=60, private
Content-Type: text/html
Date: Tue, 08 Jan 2013 20:21:46 GMT
Expires: Tue, 08 Jan 2013 20:22:46 GMT...
Forms : {}
Headers : {[Vary, Accept-Encoding], [Connection, Keep-Alive], [Cache-Control, max-age=60, private],
[Content-Type, text/html]...}
...
Run Code Online (Sandbox Code Playgroud)
要处理404使用try/catch,例如:
PS> Get-Content urls.txt |
Foreach {try {Invoke-WebRequest -Uri $_ -Method HEAD} catch { "Oops - $_"}}
Run Code Online (Sandbox Code Playgroud)
要重定向到文件,这对我有用:
PS> Get-Content urls.txt |
Foreach {try {Invoke-WebRequest -Uri $_ -Method HEAD} catch { "Oops - $_"}} >
$home\Desktop\foo.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5172 次 |
| 最近记录: |