CFscript中的Jsoup以POST方式执行连接

时间:2016-04-11 21:20:36

标签: coldfusion jsoup cfml coldfusion-11

我想要解析的页面只能通过POST方法获取。

我可以看到这对Java很容易:

import org.jsoup.Jsoup;
Response res = Jsoup.connect("URL").method(Method.POST).execute();
Document doc = res.parse();

我无法使用CFscript生成相同的东西。

jsoup = createObject("java", "org.jsoup.Jsoup");
response = jsoup.connect("URL").method(Method.POST).execute();
if (response.statusCode() == 200)
{
    doc = response.parse();
}

-ERR元素POST在METHOD

中未定义

我几乎尝试了一切。 我无法同时使用.method()和.execute()。

如果我直接调用.get()或.post(),那么我当时就无法检查statusCode()。

2 个答案:

答案 0 :(得分:5)

如果查看API,Method是另一个JSoup类。您需要先创建该类的实例,然后才能访问POST常量。此外,Method与典型的java类略有不同。它是enum(或常数)。这些基本上作为内部类处理,require a special syntax使用createObject:

methodClass = createObject("java", "org.jsoup.Connection$Method");
response = jsoup.connect("http://example.com").method(methodClass.POST).execute();

答案 1 :(得分:0)

或者,您可以直接调用post()方法:

response = jsoup.connect("URL").post();