2016-04-28 4 views
1

私はこの問題を探していますが、おそらくこの問題はユーザエージェントを使って解決されていますが、そうではありません。
私は何をしようとしていることは請願からクッキーを取得することで、このプログラムはログでこのエラーを持つ行.execute();で失敗コードJsoup HTTPエラーがURLを取得しています。ステータスは、嘆願書をしているときは403です。

note: i'm try to do the petition to https webpage 

/*obtiene cookies de la peticion*/ 
     Connection.Response res = Jsoup.connect(liga).header("Content-Type","text/html;charset=UTF-8") 
       .cookie("TALanguage", "ALL") 
       .data("mode", "filterReviews") 
       .data("filterRating", "") 
       .data("filterSegment", "") 
       .data("filterSeasons", "") 
       .data("filterLang", "ALL") 
       .referrer(liga)   
       .header("X-Requested-With", "XMLHttpRequest") 
       .header("X-Puid",xpuid) 
       .data("returnTo",returnTo) 
       .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")       
       .method(Method.POST) 
       .execute(); 

     doc = res.parse(); 


     Map<String, String> cookies = res.cookies(); 

org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403, URL=https://somepage.html 

    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:459) 
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:434) 
    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:181) 
    at mx.oeste.crawler.htmlunit.obtenerComentarios(htmlunit.java:82) 
    at mx.oeste.crawler.htmlunit.main(htmlunit.java:40) 
+0

httpsに接続しようとしています。httpで試してみてください。私は、問題はあなたが証明書を最初にhttpsを呼び出すように設定する必要があると思います。 – tesnik03

+0

jsoupでサイトから証明書を取得する方法がありますか? –

+1

URLを知らなくても問題が何であるかを知ることは難しいです。 – TDG

答えて

1

てみてくださいコンテンツタイプヘッダーの下のように「アプリケーション/ x-www-form-urlencodedで」に設定する:それは動作しない場合

Connection.Response res = Jsoup.connect(liga) 
           .header("Content-Type","application/x-www-form-urlencoded") 
           .cookie("TALanguage", "ALL") 
           .data("mode", "filterReviews") 
           .data("filterRating", "") 
           .data("filterSegment", "") 
           .data("filterSeasons", "") 
           .data("filterLang", "ALL") 
           .referrer(liga)   
           .header("X-Requested-With", "XMLHttpRequest") 
           .header("X-Puid",xpuid) 
           .data("returnTo",returnTo) 
           .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")       
           .method(Method.POST) 
           .execute(); 

は、お好みのブラウザWHをスパイしてみてください嘆願書からクッキーを手作業で取り出す。ブラウザをスパイするために開発ツールを使用することができます。

+0

実際に私は後の投稿をする前に別のクエリからクッキーを取り出します –

+0

@BJAA POSTクエリーの実行方法をブラウザで確認しましたか? – Stephan

+0

@Stephanこんにちは。私の[投稿](https://stackoverflow.com/questions/45822632/why-do-i-get-http-403-from-my-app-but-i-can-browse-the)を見てください。 -url-in-my-browser)私は同じエラーがありますが、この解決策はそれを修正しませんでした – Bloomberg58

関連する問題