kuangquanshui 发表于 2011-4-13 13:56:57

如何使用关联获取服务器返回信息

目标想通过关联方法截取一部分服务器返回的值,但现在问题是截取不到。
脚本如下:
Action()
{
web_set_max_html_param_len("102400");
       
        web_reg_find("Search=Body",
                "SaveCount=time",
                "Text=把百度设为主页",
                LAST);
   
        web_reg_save_param("neirong",
                "LB=<title>",
                "RB=</title",
                "Search=Headers",
                LAST);
   
    lr_output_message("%s",lr_eval_string("{neirong}"));

        web_url("www.baidu.com",
                "URL=http://www.baidu.com/",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t5.inf",
                "Mode=HTML",
                EXTRARES,
                "Url=/img/i2.png", ENDITEM,
                "Url=/img/arr.gif", ENDITEM,
                "Url=/js/bdsug.js?v=1.0.3.0", ENDITEM,
                "Url=/favicon.ico", "Referer=", ENDITEM,
                LAST);

       return 0;

}

报错信息如下:
Starting iteration 1.
Starting action Action.
Action.c(3): web_set_max_html_param_len was successful       
Action.c(5): Registering web_reg_find was successful       
Action.c(10): Registering web_reg_save_param was successful       
Action.c(16): {neirong}
Action.c(18): Found resource "http://www.baidu.com/img/baidu_sylogo1.gif" in HTML "http://www.baidu.com/"       
Action.c(18): Downloading resource "http://www.baidu.com/img/i2.png" (specified by argument number 9)       
Action.c(18): Downloading resource "http://www.baidu.com/img/arr.gif" (specified by argument number 11)       
Action.c(18): Downloading resource "http://www.baidu.com/js/bdsug.js?v=1.0.3.0" (specified by argument number 13)       
Action.c(18): Downloading resource "http://www.baidu.com/favicon.ico" (specified by argument number 15)       
Action.c(18): Found resource "http://gimg.baidu.com/img/gs.gif" in HTML "http://www.baidu.com/"       
Action.c(18): Registered web_reg_find successful for "Text=把百度设为主页" (count=1)       
Action.c(18): Error -26377: No match found for the requested parameter "neirong". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 102400 bytes, use web_set_max_html_param_len to increase the parameter size       
Action.c(18): web_url("www.baidu.com") highest severity level was "ERROR", 9439 body bytes, 2232 header bytes       
Ending action Action.
Ending iteration 1.

云层 发表于 2011-4-13 14:15:11

又做关联又做检查点?
你的关联边界写的不对,没有匹配的内容

云层 发表于 2011-4-13 14:15:18

又做关联又做检查点?
你的关联边界写的不对,没有匹配的内容

kuangquanshui 发表于 2011-4-13 14:21:45

回复 3# 云层


    验证点的试过了可以    如果我想获取<title></title>标签内的内容左右边界值如何处理

森林一木 发表于 2011-4-13 16:12:04

从服务器的响应信息中去找,简便的方法是页面源代码找
云层大侠说的很正确,你左右边界搞错了。
LB=http://www.baidu.com\">
RB=</a></p>

kuangquanshui 发表于 2011-4-13 16:41:37

本帖最后由 kuangquanshui 于 2011-4-13 16:43 编辑

回复 5# 森林一木


    你好5楼的朋友   

   你给的那段左右边界值设置获取的是“把百度设为主页”这个内容。以上我的脚本时相获取title标签内的值。下面这段内容是服务器返回的值。
=gb2312"><title>百度一下,你就知道      </title><style>body{fo

现在把headers的值换成All 可以获取到值了。日志信息如下:
t=2164ms: Request done "http://gimg.baidu.com/img/gs.gif"         
Action.c(26): web_url("www.baidu.com") was successful, 9439 body bytes, 2232 header bytes         
Action.c(52): Notify: Parameter Substitution: parameter "neirong" ="百度一下,你就知道      "
Action.c(52): Notify: Saving Parameter "string1 = 百度一下,你就知道      "
Action.c(54):
Action.c(63): 0
Action.c(65): 0
Action.c(67): 0
Action.c(70): 成功
Action.c(77): 加入百度推广
Action.c(79):
Action.c(81): Notify: Parameter Substitution: parameter "neirong" ="百度一下,你就知道      "

虽然有些进展但这个值不能用,例如用这个值进行比较。

布阿泽雨 发表于 2011-4-14 00:46:40

"Search=Headers" 这样设置参数是不对,这里的Headers并不是指Html的head标签
而是Server Response的Header
所以这里真正的查找范围是:Body同样这里的Body也不是指Html的body标签
而是Server Response的Body
其实我们右键->查看源文件所显示的内容都是Body内容

布阿泽雨 发表于 2011-4-14 00:48:23

"Search=Headers" 这样设置参数是不对,这里的Headers并不是指Html的head标签
而是Server Response的Header
所以这里真正的查找范围是:Body同样这里的Body也不是指Html的body标签
而是Server Response的Body
其实我们右键->查看源文件所显示的内容都是Body内容

kuangquanshui 发表于 2011-4-14 10:14:25

自己结贴
页: [1]
查看完整版本: 如何使用关联获取服务器返回信息