gpt4 book ai didi

curl - 批处理脚本获取 html 站点并解析内容(无需 wget、curl 或其他外部应用程序)

转载 作者:行者123 更新时间:2023-12-04 04:32:24 25 4
gpt4 key购买 nike

我只需要使用 Windows cmd 功能。我需要来自网站的两个变量/字符串,以便在批处理脚本中使用它来验证操作。为了不让它太简单,这个网站还需要认证。

我在某处发现了这个:

@set @x=0 /*
:: ChkHTTP.cmd
@echo off
setlocal
set "URL=http://www.google.com"
cscript /nologo /e:jscript "%~f0" %URL% | find "200" > nul
if %ErrorLevel% EQU 0 (
echo Web server ok % Put your code here %
) else (
echo Web server error reported
)
goto :EOF

JScript */
var x=new ActiveXObject("Microsoft.XMLHTTP");
x.open("GET",WSH.Arguments(0));x.send();
while (x.ReadyState!=4) {WSH.Sleep(50)};
WSH.Echo(x.status)

但我不确定是否也可以通过这种方式获取网站内容而不是状态回答,而且我不知道如何对此实现网站身份验证。

上面的代码不能正常工作,因为它总是会因为管道的原因产生错误,但这似乎更接近我解析我希望的内容的需要。

最佳答案

我只使用 wget 从 Windows 批处理脚本中获取 Web 内容。通过 JScript 使用 XHR 是个绝妙的主意!

但是您试图获取的脚本似乎是为了检查 Web 服务器是否正在响应,而不是为了获取内容。

通过一些修改,您可以使用它来获取网页并执行您需要的任何处理。

@if (@a==@b) @end /*

:: fetch.bat <url>
:: fetch a web page

@echo off
setlocal
if "%~1"=="" goto usage
echo "%~1" | findstr /i "https*://" >NUL || goto usage

set "URL=%~1"
for /f "delims=" %%I in ('cscript /nologo /e:jscript "%~f0" "%URL%"') do (
rem process the HTML line-by-line
echo(%%I
)
goto :EOF

:usage
echo Usage: %~nx0 URL
echo for example: %~nx0 http://www.google.com/
echo;
echo The URL must be fully qualified, including the http:// or https://
goto :EOF

JScript */
var x=new ActiveXObject("Microsoft.XMLHTTP");
x.open("GET",WSH.Arguments(0),true);
x.setRequestHeader('User-Agent','XMLHTTP/1.0');
x.send('');
while (x.readyState!=4) {WSH.Sleep(50)};
WSH.Echo(x.responseText);

关于curl - 批处理脚本获取 html 站点并解析内容(无需 wget、curl 或其他外部应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15395490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com