window 下用vbs 脚本访问url【定时访问接口很有用且高效】


       有时候我们需要用一个客户端去模拟人的行为去定时通过浏览器刷新或重新访问一个url,以便去执行,获取一些数据,查看一些状态等等。在Linux系统可以用编辑crontab文件设置定定时任务,用curl 这个功能去模拟访问url,但我在window下怎么解决呢?开始我想用批处理命令,后发现不能执行一些window里的程序,后来查到用cscript 这个命令可以在控制台窗口无视窗的情况下显示输出,关键是可以直接执行vbs,而vbs 可以编写一些复杂的代码。在vbs中写了一个死循环,然后用xmlHttp这个组件去访问一个url

提供了很多的方法和属性,其实ajax的就是通过这个组件实现的,让这个组建同步执行,把url返回的字符串打印输出到控制台中,其实url那边是一个apache,访问的外部接口URL是通过curl,这样一圈转的。


'启动命令 cscript test.vbs http://web.internetedu.org.cn/home/umeng/test
'cscript test.vbs http://web.internetedu.org.cn/home/umeng
'解释:cscript 执行脚本会在命令行显示输出,wscript 执行会弹出对话框窗口,
'后面直接是vbs 文件,文件后面是第一个参数

Dim Wshshell,Msg,i,URL


'Set Wshshell = Wscript.CreateObject("Wscript.Shell")
URL = WScript.Arguments(0)
i=1
arrHttp=array("Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP")
On Error Resume Next
'新建一个XMLHTTP组建
For i=0 To 3
    Set http=CreateObject(arrHttp(i))
    If isObject(http) Then
    Exit For
    End If
    
next
If isObject(http)=false Then
  wscript.echo "XMLHttpRequest not supported"
  Wscript.quit
End if

'u=Inputbox("URL:","输入URL地址") 
'msgbox u
'一个死循环
do while true  
 
http.open "POST", URL,FALSE
http.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
'http.onreadystatechange=getref("callback")
http.send "id=1111&name=liangfang"
  If http.readyState=4 And http.status=200 Then  
  wscript.echo http.responseText
  Else
  wscript.echo "XMLHTTP_CODE:"&http.readyState&"        HTTP_CODE:"&http.status
  End If
'If Err.Number <> 0 Then  
'     wscript.echo "ERROR"
'End If 
'显示发送次数
'wscript.echo "SEND_COUNT:"&i
i=i+1
'延迟执行 30秒
wscript.Sleep 30*1000
loop

'只有异步的时候才需要,现在是同步所以没有执行
Public Function callback()
  If http.readyState=4 And http.status=200 Then  
  wscript.echo http.responseText
  Else
  wscript.echo "XMLHTTP_CODE:"&http.readyState&"        SHTTP_CODE:"&http.status
  End if
End Function






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yijiliangfang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值