ใน Java วิธีอ่านเนื้อหาไฟล์ GitHub โดยใช้ยูทิลิตี้ HttpURLConnection + ConvertStreamToString()

เผยแพร่แล้ว: 2017-12-30

โหลดเนื้อหา Github URL โดยใช้ HttpURLConnection

ในบทช่วยสอน Java นี้ เราจะทำตามขั้นตอนต่างๆ เพื่อดึงเนื้อหา GitHub URL โดยใช้ HttpURLConnection กล่าวอีกนัยหนึ่งด้านล่างคือ Java API เพื่อรับเนื้อหาไฟล์จาก GitHub

อินสแตนซ์ HttpURLConnection แต่ละรายการใช้เพื่อสร้างคำขอเดียว แต่การเชื่อมต่อเครือข่ายพื้นฐานไปยังเซิร์ฟเวอร์ HTTP อาจถูกแชร์โดยอินสแตนซ์อื่นอย่างโปร่งใส getHeaderFields() ส่งกลับแผนที่ที่ไม่สามารถแก้ไขได้ของฟิลด์ส่วนหัว คีย์แผนที่คือสตริงที่แสดงชื่อฟิลด์ส่วนหัวตอบกลับ ค่า Map แต่ละค่าคือ List of Strings ที่ไม่สามารถแก้ไขได้ซึ่งแสดงถึงค่าฟิลด์ที่เกี่ยวข้อง

มาเริ่มกันเลย:

  1. สร้างคลาส CrunchifyLoadGithubContent.java
  2. เราจะดาวน์โหลดเนื้อหา: https://raw.githubusercontent.com/Crunchify/wp-super-cache/master/wp-cache.php (จากปลั๊กอิน: WP Super Cache Github Repo)
  3. รับฟิลด์ส่วนหัวทั้งหมดโดยใช้ getHeaderFields() API เราต้องการสิ่งนี้เพื่อดูว่า URL ด้านบนหรือ URL อื่น ๆ ถูกเปลี่ยนเส้นทางหรือไม่? หมายเหตุ: นี่เป็นทางเลือกทั้งหมด ในกรณีของการเปลี่ยนเส้นทาง HTTP 301 และ HTTP 302 สิ่งนี้จะช่วยได้
  4. สร้าง API crunchifyGetStringFromStream( InputStream crunchifyStream) เพื่อแปลง Stream เป็น String
  5. พิมพ์ผลลัพธ์เดียวกันไปยังคอนโซล

หมายเหตุ: สถานะ HTTP 301 หมายความว่าทรัพยากร (หน้า) ถูกย้ายอย่างถาวรไปยังตำแหน่งใหม่ 302 คือเขาขอทรัพยากรอยู่ชั่วคราวภายใต้ URI อื่น ส่วนใหญ่ 301 เทียบกับ 302 มีความสำคัญสำหรับการจัดทำดัชนีในเครื่องมือค้นหา เนื่องจากโปรแกรมรวบรวมข้อมูลจะพิจารณาสิ่งนี้ในบัญชีและโอนอันดับของหน้าเมื่อใช้ 301

นอกจากนี้ยังมีข้อสันนิษฐานว่า – GitHub URL ต้องเป็นสาธารณะ

ขณะดีบักฉันได้รับสิ่งนี้เป็นส่วนหนึ่งของค่า crunchifyHeader นอกจากนี้ บทช่วยสอนนี้ใช้กับ repo สาธารณะของ Bitbucket ด้วย

รับเนื้อหา Github ใน Java