本来只是做了混编函数封装,用着干净方便。call调用之
但是后来发现或许以后用得上……所以动手稍微改造……有时间会像VIFP一样,或者两者合并?……
VBS Interactive Information Prototype
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
@echo off echo call viip get "http://blog.snote.cn/File/SanGod/Save/base64.php?text=山归山" Result.txt echo 开始时间:%time% call viip get "http://blog.snote.cn/File/SanGod/Save/base64.php?text=山归山" Result.txt echo 完成时间:%time% echo. echo 字符串"山归山"通过base64.php编码后的返回值:"%Result.txt%" pause cls echo call viip get "http://blog.snote.cn/File/SanGod/Room/put.php?Name=test&Inf=%date% %time%" Result echo 开始时间:%time% call viip get "http://blog.snote.cn/File/SanGod/Room/put.php?Name=test&Inf=%date% %time%" Result echo 完成时间:%time% echo. echo 向put.php发送当前日期的返回值:%Result% pause cls echo call viip get "http://blog.snote.cn/File/SanGod/Room/get.php?Name=test" Result echo 开始时间:%time% call viip get "http://blog.snote.cn/File/SanGod/Room/get.php?Name=test" Result echo 完成时间:%time% echo. echo 向get.php发送读取test的返回值:%Result% echo 备注: 也就是上一条发送的当前日期 pause cls echo call viip get "http://blog.snote.cn/File/test/test.php?test=test" Result echo 开始时间:%time% call viip get "http://blog.snote.cn/File/test/test.php?test=test" Result echo 完成时间:%time% echo. echo 有传参的返回值:%Result% pause cls echo call viip get "http://blog.snote.cn/File/test/test.php" Result echo 开始时间:%time% call viip get "http://blog.snote.cn/File/test/test.php" Result echo 完成时间:%time% echo. echo 无传参的返回值:%Result% pause cls echo call VIIP get "http://blog.snote.cn/File/test/123.txt" Result echo 开始时间:%time% call VIIP get "http://blog.snote.cn/File/test/123.txt" Result echo 完成时间:%time% echo. echo 获取末行的返回值:%Result% pause cls echo call viip dl "http://blog.snote.cn/File/test/123.txt" Result.txt echo 开始时间:%time% call viip dl "http://blog.snote.cn/File/test/123.txt" Result.txt echo 完成时间:%time% echo. echo 下载的返回值:%Result.txt% echo 注: 可以查看当前目录,是否存在Result.txt文件 echo Result.txt文件内容开始:========== type Result.txt echo. echo Result.txt文件内容结束:========== echo 按任意键结束演示!查看说明! pause>nul cls echo. echo 演示结束!!! echo. echo 食用说明: echo “call” 老办法调用之…… echo 三个参数均为必选…… 缺一不可!!! echo #1: 与#3参数配合使用。#1参数为“get”将获取url文本的末行(改回Xnet为末行),#1参数为其它值时将下载文件。 echo #2: 为url,也就是网址…… 请加上http://或者https://;另外链接是区分大小写并加引号~~(测试的网址将随时失效……) echo #3: 与#1参数配合。参数#1非“get”时此处为返回值存放的变量名及文件名称。如参数#1是"get",为返回值存放的变量名。 echo 其他: 在#1参数为“get”时#3可保存大多数符号,但不保证遇到其他问题。#1尽量使用非get,除非清楚获取内容。 echo 在执行完get或dl任务后#3都会返回执行结果!!比如:“Save To File”;“URL path error”;服务器返回信息等等... echo 如希望获取的是文本首行,修改VIIP.bat第二行的"' &exit /b"放进set "%3=%%a"的括号内即可,其他调试基本都在For内... pause |
重新更新了一下,新的缩短了并且加了错误链接判断
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
' 2>nul 3>nul &for /f "delims=" %%a in ('cscript //nologo //e:vbscript "%~fs0" "%~1" "%~2" "%~3"') do set "%3=%%a" ' &exit /b On Error Resume Next Dim http Set http = CreateObject("Msxml2.ServerXMLHTTP") 'http.SetRequestHeader "Cookie", "user=ZhangZsky; passwd=SNote.CN" http.SetOption 2,13056 http.open "GET",wsh.Arguments(1),False http.send If http.status = "200" Then If wsh.Arguments(0) = "get" Then wsh.echo http.responsetext Else Dim ado Set ado = CreateObject("Adodb.Stream") ado.Type = 1 ado.Open ado.Write http.responseBody ado.SaveToFile wsh.Arguments(2),2 ado.Close wsh.echo "Save to file" End If Else wsh.echo "URL path error" End If if err then wsh.echo err.description end if |
这是测试文本……我自己没发现问题
1 2 3 4 |
~!@#$%^&*()_+{}:"<>?,./;'[]\ 123 123456 123456789 |
Get 参数不是简单的获取,而是向Url发送$_Get。 服务器$_GET可以获取的到!!!配合自定义的PHP文件食用味道更佳……
1 2 3 4 5 6 7 8 |
<?php header("Content-Type: text/html;charset=utf-8"); if(is_array($_GET)&&count($_GET)>0) { echo ("已有传参,并回显成功"); } else { echo ("暂无传参,回显成功"); } ?> |
发表回复