2016-04-11 9 views
4

私が解析したいページはPOSTメソッドのみで取得できます。CFscriptのJsoupがPOSTとして接続を実行します

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

私はCFSCRIPTを使用して同じことを作り出すことができませんでした:私が見ることができるよう

これは、Javaのために簡単です。

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

このダウンは投票されたのはなぜ?それは明確な例、エラーメッセージを含んでおり、問題とその解決方法を説明しています。 – Leigh

答えて

5

APIを見ると、別のJSoupクラスのMethodがあります。 POST定数にアクセスする前に、そのクラスのインスタンスを作成する必要があります。また、メソッドは、あなたの典型的なJavaクラスと少し異なります。これはenum(または定数)です。これらは基本的に内部クラス、CreateObjectのとrequire a special syntaxとして処理されます。また

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

作品!その特別な構文ヒント。ありがとうございました! – 84RR1573R

+0

それは素晴らしいチップリーです。あなたはブログを持っていますか? –

+0

@ MarkKruger - 私は以前から:-)私はしばらく内部クラスの構文について知っていましたが、私はそれを言及する最初の人ではないと確信しています。私がRaymond Camden、et.al. – Leigh

0

、あなたは直接post()メソッドを呼び出すことができます。

response = jsoup.connect("URL").post(); 
関連する問題