Board logo

标题: [网络连接] 如何用批处理调用curl获取HTTP状态码并比较 [打印本页]

作者: 黄斌    时间: 2019-3-6 15:27     标题: 如何用批处理调用curl获取HTTP状态码并比较

如何用批处理调用curl获取HTTP状态码并与404这些进行比较
作者: Batcher    时间: 2019-3-6 19:30

  1. @echo off
  2. for /f %%i in ('curl -so /dev/null -w %%{http_code} http://bbs.bathome.net') do (
  3.     set ret=%%i
  4. )
  5. echo %ret%
  6. pause
复制代码
  1. @echo off
  2. for /f %%i in ('curl -so /dev/null -w %%{http_code} https://www.baidu.com') do (
  3.     set ret=%%i
  4. )
  5. echo %ret%
  6. REM 如果返回值是200则打开某个程序
  7. if %ret% equ 200 (
  8.     start "" "C:\Windows\system32\notepad.exe"
  9. )
复制代码

作者: ivor    时间: 2019-3-6 22:43

本帖最后由 ivor 于 2019-3-6 22:49 编辑

bat 获取网址HTTP状态码,不依赖第三方软件
  1. @echo off
  2. for /f %%a in ('powershell -command "& {try { $response = Invoke-WebRequest http://www.bathome.net/1;$Response.StatusCode} catch {$_.Exception.Response.StatusCode.Value__}}"') do (
  3. set statusCode=%%a
  4. )
  5. echo %statusCode%
  6. pause
复制代码

作者: pda8888    时间: 2023-10-6 10:17

借助了powershell,不算纯批处理。
其实可以用curl,也不算纯批处理,哈哈。
作者: Batcher    时间: 2023-10-6 10:25

回复 4# pda8888


    Win10及以后的系统默认自带curl命令
作者: pd1    时间: 2023-10-6 10:29

这2个都是Invoke-WebRequest的别名吧
  1. PS D:\Desktop> Get-Alias|?{$_.Name -eq "wget" -or $_.Name -eq "curl"}
  2. CommandType     Name                                               Version    Source
  3. -----------     ----                                               -------    ------
  4. Alias           curl -> Invoke-WebRequest
  5. Alias           wget -> Invoke-WebRequest
复制代码
回复 5# Batcher
作者: Batcher    时间: 2023-10-6 10:33

回复 6# pd1


你说的是PowerShell的Alias
我说的是C:\Windows\System32\curl.exe
作者: pd1    时间: 2023-10-6 10:47

回复 7# Batcher


    恩,那powershell 用curl 和curl.exe  两种方式了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2