CFscript 中的 Jsoup 执行连接为 POST
Jsoup in CFscript execute connection as POST
我要解析的页面只能通过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() 了。
如果您查看 API,Method is another JSoup class. You need to create an instance of that class before you can access the POST constant. Also, Method is a little different than your typical java class. It is an enum (or constant). Those are essentially handled as inner classes, which with createObject:
methodClass = createObject("java", "org.jsoup.Connection$Method");
response = jsoup.connect("http://example.com").method(methodClass.POST).execute();
或者,您可以直接调用 post()
方法:
response = jsoup.connect("URL").post();
我要解析的页面只能通过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() 了。
如果您查看 API,Method is another JSoup class. You need to create an instance of that class before you can access the POST constant. Also, Method is a little different than your typical java class. It is an enum (or constant). Those are essentially handled as inner classes, which
methodClass = createObject("java", "org.jsoup.Connection$Method");
response = jsoup.connect("http://example.com").method(methodClass.POST).execute();
或者,您可以直接调用 post()
方法:
response = jsoup.connect("URL").post();