3

JavaがHTTPS経由でPOSTリクエストを送信するのに苦労しています

使用コードはこちら

     試す{
        レスポンス res = Jsoup.connect(LOGIN_URL)
    .data("ユーザー名", "何とか", "パスワード", "何とか")

    .method(メソッド.POST)
  .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0")
                .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
                。実行する();
        System.out.println(res.body());
        System.out.println("コード" +res.statusCode());

        }
        キャッチ(例外e){
            System.out.println(e.getMessage());
        }

そしてこれも

ドキュメント doc = Jsoup.connect(LOGIN_URL)
  .data("ユーザー名", "何とか")
  .data("パスワード", "何とか")
  .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0")
        .header("Content-type", "application/x-www-form-urlencoded")
         .method(メソッド.POST)
  .timeout(3000)
  。役職();
            

ここで、LOGIN_URL = https://xxx.com/Login?val=login

HTTP で使用すると動作するように見えますが、HTTPS では動作しませんが、例外はスローされません

HTTPS 経由で投稿するにはどうすればよいですか

編集:

サーバーが HTTPS 経由で POST を取得するときに 302 リダイレクトが関係しているようです (http では発生しません)。jsoup を使用して、302 で送信された Cookie を次のページに保存するにはどうすればよいですか?

4

2 に答える 2

2

これは私のコードです:

URL form = new URL(Your_url);
connection1 = (HttpURLConnection)form.openConnection();
connection1.setRequestProperty("Cookie", your_cookie);

connection1.setReadTimeout(10000);
StringBuilder whole = new StringBuilder();

BufferedReader in = new BufferedReader(
        new InputStreamReader(new BufferedInputStream(connection1.getInputStream())));
String inputLine;
while ((inputLine = in.readLine()) != null)
     whole.append(inputLine);
     in.close();
Document doc = Jsoup.parse(whole.toString());
String title = doc.title();

このコードを使用して、新しいページのタイトルを取得しました。

于 2013-03-06T06:13:16.437 に答える