1
私はJsoupでフォーラムページを読もうとしていますが、できません。私は最初のページまたはリストページを読むことができるよりも、首尾よくログインしています。しかし、私は、スレッドのページに移動するとき、それは私に403を与えている。ここのコードです:JSOUPで成功した後にスレッドページを読むことができません
Connection.Response loginForm = Jsoup.connect("http://picturepub.net/index.php?login/login").method(Connection.Method.GET)
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0").timeout(0).execute();
Document doc = Jsoup.connect("http://picturepub.net/index.php?login/login").data("cookieexists", "false").data("cookie_check", "1").data("login", "swordblazer")
.data("password", "picturepub").data("register", "0").data("redirect", "/index.php").cookies(loginForm.cookies())
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0").post();
doc = loginForm.parse();
Map<String, String> cookies = loginForm.cookies();
List<String> urls = new ArrayList<String>();
List<String> threadUrls = new ArrayList<String>();
int h = 0;
for (int i = 1; i < 20; i++) {
if (i == 1)
doc = Jsoup.connect("http://picturepub.net/index.php?forums/photoshoots-magazines.51/")
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0").cookies(cookies).get();
else
doc = Jsoup.connect("http://picturepub.net/index.php?forums/photoshoots-magazines.51/page-" + i)
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0").cookies(cookies).get();
// get all links
Elements links = doc.select("a[href]");
System.out.println(doc.title());
for (Element element : links) {
if (element.absUrl("href").contains("threads")) {
String linkImage = element.absUrl("href");
Document document = Jsoup.connect(linkImage).cookies(cookies).get();
if (!threadUrls.contains(linkImage)) {
threadUrls.add(linkImage);
h++;
}
}
}
}
パラメータ/クッキーが不足していると思われるため、おそらく '403'が表示されます。ログイン方法を理解している場合は、同じ方法を使用してブラウザとサイト間のトラフィックを監視し、ブラウザが送信している内容を確認するよりも、 – TDG
私はそれをしました。私がサーバーに送る必要のあるクッキー以外のものはありますか? – user236928
クッキーと必要なパラメーター。 – TDG