如何使用Java中的Web-Harvest库输出浏览器User-Agent String

时间:2014-06-27 19:13:30

标签: java webharvest

使用Web-Harvest library创建的应用程序测试某些问题但无济于事。我们的网络环境混合了代理和其他过滤器,我试图排除有问题的用户代理字符串。

我认为问题在于如何在应用程序中指定字符串,但我不知道如何输出提供的字符串以进行调试。

我可以在IDE调试器中看到该字符串,但我真的需要这个输出让其他人在服务器上进行测试。

1 个答案:

答案 0 :(得分:0)

您可以通过在执行后查询http对象来输出标头(以及有关http处理器的其他信息)。 下面是一个示例代码,它将标题信息保存到webharvest变量

<config>
    <http url="${yoururl}"></http>

    <script><![CDATA[
            String keys="";
            for(int i=0;i<http.headers.length;i++) {
                keys+=(http.headers[i].key + "=" + http.headers[i].value +"\n---\n");
            }
            SetContextVar("myCookie", keys);
        ]]>
     </script>


</config>

myCookie变量然后返回如下内容:

Server=Apache
---
Content-Language=en-GB
---
Pragma=no-cache
---
Cache-Control=no-cache,no-store,must-revalidate
---
Expires=0
---
Content-Type=text/html;charset=UTF-8
---
Date=Thu, 17 Jul 2014 14:35:41 GMT
---
Transfer-Encoding=chunked
---
Connection=keep-alive
---
Connection=Transfer-Encoding
---
Set-Cookie=Unique=%1%enc%3~~~ Domain=~~~; Path=/; Expires=Sat, 16 Jul 2016 14:35:40 GMT; HttpOnly
---
Set-Cookie=Session=%1%V2ID~~~
---
Set-Cookie=ServerPool=A; Domain=~~~
---
Set-Cookie=005db%3Bhac01a%3A10023%3B;
---
Set-Cookie=ReturnTo=%1%%2F~~~
---