使用Web-Harvest library创建的应用程序测试某些问题但无济于事。我们的网络环境混合了代理和其他过滤器,我试图排除有问题的用户代理字符串。
我认为问题在于如何在应用程序中指定字符串,但我不知道如何输出提供的字符串以进行调试。
我可以在IDE调试器中看到该字符串,但我真的需要这个输出让其他人在服务器上进行测试。
答案 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~~~
---