Saat mengakses URL menggunakan Java, jika URL membutuhkan otentikasi, itu tidak dapat diakses secara langsung karena tidak ada login. Jadi, bagaimana menyelesaikan masalah ini?
Metode ini adalah menggunakan Java untuk mensimulasikan login, merekam informasi cookie setelah masuk, dan mengirim cookie untuk menunjukkan identitas saat berikutnya Anda memulai permintaan, sehingga Anda dapat mengakses URL dengan izin.
Berikut ini adalah langkah pertama untuk memperkenalkan penggunaan Java untuk mensimulasikan login.
// Alamat koneksi (diperoleh dengan membaca kode sumber HTML, yaitu URL yang dikirimkan oleh formulir login) string surl = "http://login.goodjobs.cn/index.php/action/userlogin"; /*** Pertama, Anda perlu berbicara dengan URLConnection di bawah URL. URLConnection dapat dengan mudah diperoleh dari URL. Misalnya: // menggunakan * java.net.url dan //java.net.urlconnection */url url = URL baru (surl); HttpurlConnection connection = (httpurlConnection) url.openconnection (); /*** Kemudian atur koneksi ke mode output. UrlConnection biasanya digunakan sebagai input, seperti mengunduh halaman web. * Dengan mengatur urlconnection ke output, Anda dapat mentransfer data ke halaman web Anda. Berikut adalah cara melakukannya: */ connection.setDoOutput (true); / ** * Akhirnya, untuk mendapatkan outputStream, untuk kesederhanaan, membatasi itu di penulis dan memasukkannya ke dalam informasi posting, misalnya: ... */ outputStreamWriter out = outputStreamWriter baru (koneksi .getOutputStream (), "gbk"); // Anggota dan kata sandi juga diketahui dengan membaca kode HTML, yaitu, nama parameter yang sesuai dalam formulir sudah habis. ("MemberName = myMemberName & kata sandi = mypassword"); // Kunci untuk memposting adalah! // Ingatlah untuk membersihkan out.flush (); out.close (); // Mendapatkan cookie setara dengan merekam identitas, dan digunakan untuk menggunakan string cookieval = connection.getheaderfield ("set-cookie");Setelah masuk dengan sukses, Anda dapat mengakses URL lain.
String s = "http://user.goodjobs.cn/dispatcher.php/module/resume/action/preview"; // buka kembali URL koneksi = URL baru; HttpurlConnection resumeConnection = (httpurlconnection) url .openconnection (); if (cookieval! = null) {// Kirim informasi cookie untuk menunjukkan identitas Anda, jika tidak, Anda akan dianggap tidak memiliki izin resumeConnection.setRequestProperty ("cookie", cookieval); } resumeConnection.connect (); InputStream urlStream = resumeConnection.getInputStream (); BufferedReader bufferedReader = BufferedReader baru (inputStreamReader baru (urlstream)); String ss = null; String total = ""; while ((ss = bufferedreader.readline ())! = null) {total += ss; } Ioutils.write (total, fileOutputStream baru ("d: /index.html")); bufferedreader.close (); Melalui metode di atas, Anda dapat mengakses URL dengan kontrol izin. Idenya adalah: Simulasi login, dapatkan cookie untuk merekam identitas Anda, dan kirim cookie untuk menunjukkan identitas Anda saat meminta waktu berikutnya.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.