เมื่อเข้าถึง URL โดยใช้ Java หาก URL ต้องการการรับรองความถูกต้องจะไม่สามารถเข้าถึงได้โดยตรงเนื่องจากไม่มีการเข้าสู่ระบบ ดังนั้นวิธีแก้ปัญหานี้?
วิธีการคือการใช้ Java เพื่อจำลองการเข้าสู่ระบบบันทึกข้อมูลคุกกี้หลังจากเข้าสู่ระบบและส่งคุกกี้เพื่อระบุตัวตนในครั้งต่อไปที่คุณเริ่มคำขอเพื่อให้คุณสามารถเข้าถึง URL ด้วยสิทธิ์
ต่อไปนี้เป็นขั้นตอนแรกในการแนะนำการใช้ Java เพื่อจำลองการเข้าสู่ระบบ
// ที่อยู่การเชื่อมต่อ (ได้รับจากการอ่านซอร์สโค้ด HTML นั่นคือ URL ที่ส่งโดยแบบฟอร์มการเข้าสู่ระบบ) สตริง surl = "http://login.goodjobs.cn/index.php/action/userlogin"; /*** ก่อนอื่นคุณต้องพูดคุยกับ URLConnection ภายใต้ URL การเชื่อมต่อ URLCONNNETHER สามารถหาได้ง่ายจาก URL ตัวอย่างเช่น: // การใช้ * java.net.url และ //java.net.urlconnection */url url = url ใหม่ (surl); การเชื่อมต่อ httpurlConnection = (httpurlConnection) url.openconnection (); /*** ตั้งค่าการเชื่อมต่อเป็นโหมดเอาต์พุต URLConnection มักใช้เป็นอินพุตเช่นการดาวน์โหลดเว็บเพจ * โดยการตั้งค่า URLConnection เป็นเอาต์พุตคุณสามารถถ่ายโอนข้อมูลไปยังหน้าเว็บของคุณ นี่คือวิธีการทำ: */ connection.setDoOutput (จริง); / ** * ในที่สุดเพื่อรับ outputStream เพื่อความเรียบง่ายให้ จำกัด มันในนักเขียนและใส่ไว้ในข้อมูลโพสต์ตัวอย่างเช่น: ... */ outputStreamWriter out = new OutputStreamWriter (การเชื่อมต่อ. getOutputStream (), "GBK"); // ชื่อสมาชิกและรหัสผ่านเป็นที่รู้จักกันโดยการอ่านรหัส HTML นั่นคือชื่อพารามิเตอร์ที่สอดคล้องกันในแบบฟอร์มจะออกมาเขียน ("memberName = myMemberName & รหัสผ่าน = myPassword"); // กุญแจสำคัญในการโพสต์คือ! // อย่าลืมทำความสะอาดออกฟลัช (); out.close (); // การรับคุกกี้นั้นเทียบเท่ากับการบันทึกตัวตนและใช้สำหรับการใช้ String cookive = connection.getheaderfield ("set-cookie");หลังจากเข้าสู่ระบบสำเร็จคุณสามารถเข้าถึง URL อื่น ๆ ได้
String S = "http://user.goodjobs.cn/dispatcher.php/module/resume/action/preview"; // เปิด URL การเชื่อมต่อใหม่ = URL ใหม่; httpurlConnection resumeConnection = (httpurlConnection) url .OpenConnection (); ถ้า (cookieveal! = null) {// ส่งข้อมูลคุกกี้เพื่อระบุตัวตนของคุณมิฉะนั้นคุณจะถือว่าไม่มีการอนุญาต resumeConnection.setRequestProperty ("คุกกี้", cookieval); } resumeConnection.connect (); inputstream urlstream = resumeConnection.getInputStream (); bufferedReader bufferedReader = ใหม่ bufferedReader (ใหม่ inputStreamReader (urlstream)); สตริง ss = null; สตริงทั้งหมด = ""; ในขณะที่ ((ss = bufferedreader.readline ())! = null) {total += ss; } ioutils.write (ทั้งหมด, ใหม่ fileOutputStream ("d: /index.html")); bufferedReader.close (); ด้วยวิธีข้างต้นคุณสามารถเข้าถึง URL ด้วยการควบคุมการอนุญาต แนวคิดคือ: จำลองการเข้าสู่ระบบรับคุกกี้เพื่อบันทึกตัวตนของคุณและส่งคุกกี้เพื่อระบุตัวตนของคุณเมื่อร้องขอในครั้งต่อไป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น