คู่มือโมดูลคำขอ Python: วิธีใช้ไลบรารีคำขอใน Python
เผยแพร่แล้ว: 2020-03-26เมื่อคุณทำงานบนเว็บ เพื่อวัตถุประสงค์ทางธุรกิจหรือส่วนตัว คุณมักจะมองหาข้อมูลบางอย่าง หรือคุณอาจต้องการใช้เว็บไซต์เพื่อดูวิดีโอ อัปโหลดข้อมูล หรือตรวจสอบโซเชียลมีเดีย ในการเข้าถึงแหล่งข้อมูลเหล่านี้บนอินเทอร์เน็ต คุณต้องส่งคำขอผ่านเบราว์เซอร์ของคุณไปยังเซิร์ฟเวอร์อินเทอร์เน็ต
HTTP (Hypertext Transfer Protocol) คือชุดของกฎที่เปิดใช้งานการสื่อสารระหว่างไคลเอนต์และเซิร์ฟเวอร์ผ่านอินเทอร์เน็ต ขณะเขียนโปรแกรมใน Python คุณสามารถสร้างคำขอเหล่านี้ได้โดยใช้โมดูลที่เรียกว่า การ ร้องขอ หากต้องการได้รับความเชี่ยวชาญใน python โปรดดูหลักสูตรวิทยาศาสตร์ข้อมูลของเรา
ในบทความนี้ เราจะเรียนรู้พื้นฐานของ โมดูล คำขอ Python
สารบัญ
Python ขอโมดูล
โมดูลคำขอใน Python ช่วยให้คุณสามารถแลกเปลี่ยนคำขอบนเว็บได้ เป็นไลบรารีที่มีประโยชน์มากซึ่งมีวิธีการและคุณลักษณะที่จำเป็นมากมายในการส่งคำขอ HTTP ดังที่กล่าวไว้ก่อนหน้านี้ HTTP ทำงานเป็นระบบตอบรับคำขอระหว่างเซิร์ฟเวอร์และไคลเอนต์ เว็บเบราว์เซอร์ของคุณอาจเป็นไคลเอนต์ และระบบที่โฮสต์ไซต์ที่คุณต้องการเข้าถึงคือเซิร์ฟเวอร์ ตรวจสอบไลบรารี python ที่สำคัญทั้งหมด
เมื่อคุณต้องการส่งคำขอไปยังเซิร์ฟเวอร์ มีสองวิธีที่คุณจะพบ:
- GET – วิธีนี้ใช้สำหรับขอข้อมูลจากเซิร์ฟเวอร์
- POST – วิธีนี้ใช้สำหรับส่งข้อมูลบางส่วนไปยังเซิร์ฟเวอร์เพื่อประมวลผล
โมดูลคำขอ Python มี API แบบง่ายที่คุณสามารถใช้สำหรับจัดการคำขอเหล่านี้ทั้งหมด มีคุณลักษณะที่น่าสนใจมากมาย เช่น การส่งพารามิเตอร์ภายใน URL การเพิ่มส่วนหัว การส่งส่วนหัวที่กำหนดเอง และอื่นๆ อีกมากมาย
เรียนรู้เพิ่มเติม: โมดูล Python ที่คุณควรรู้
ในการเริ่มทำงานกับโมดูลคำร้องขอ ขั้นตอนแรกคือการติดตั้งโมดูลใน Python โดยพิมพ์รหัสต่อไปนี้ใน Python:
$ pip คำขอติดตั้ง
ในกรณีที่คุณต้องการใช้ Pipenv ซึ่งเป็นเครื่องมือบรรจุภัณฑ์ Python สำหรับติดตั้งโมดูลคำขอ ให้พิมพ์รหัสต่อไปนี้:
$ คำขอติดตั้ง pipenv
หลังจากติดตั้งโมดูล คุณสามารถใช้ภายในโปรแกรมของคุณโดยการนำเข้าโมดูล ใช้รหัสต่อไปนี้:
คำขอนำเข้า
ตอนนี้ ให้เราเข้าใจวิธีการที่สำคัญที่สุดของ โมดูลคำขอหลาม – GET และ POST
รับคำขอ
วิธีนี้ใช้สำหรับส่งคำขอ GET ไปยัง URL สิ่งนี้บ่งชี้ว่าคุณต้องการรับข้อมูลจากแหล่งข้อมูลบนเว็บ ไวยากรณ์พื้นฐานคือ:
request.get(url, params={key: value}, args)
ที่นี่ url คือ URL ของเว็บไซต์ที่คุณต้องการส่งคำขอ Params คือ พจนานุกรมหรือรายการของ tuples ที่ใช้ในการส่งสตริงการสืบค้น args สามารถ เป็น อาร์กิวเมนต์ที่มีชื่อต่างๆ ได้ตั้งแต่หนึ่งอาร์กิวเมนต์ขึ้นไป (เป็นทางเลือก) ที่เสนอโดยเมธอด GET และสิ่งเหล่านี้คือ:
- allow_redirects – นี่คือค่าบูลีนที่ใช้เพื่อเปิดใช้งานหรือปิดใช้งานการเปลี่ยนเส้นทาง ค่าเริ่มต้น: True
- auth – นี่คือ tuple สำหรับเปิดใช้งานการพิสูจน์ตัวตน HTTP ค่าเริ่มต้น: ไม่มี
- ใบรับรอง – นี่อาจเป็นทูเพิลหรือสตริงสำหรับการกล่าวถึงไฟล์ใบรับรองหรือคีย์ ค่าเริ่มต้น: ไม่มี
- หมดเวลา – อาจเป็นทูเพิลหรือตัวเลขที่ระบุจำนวนวินาทีในการรอให้ไคลเอ็นต์สร้างการเชื่อมต่อหรือก่อนส่งการตอบกลับ ค่าเริ่มต้น: ไม่มี
- ตรวจสอบ – นี่คือสตริงหรือค่าบูลีนที่ระบุการตรวจสอบใบรับรอง TLS ของเซิร์ฟเวอร์ ค่าเริ่มต้นคือ True
- คุกกี้ – นี่คือพจนานุกรมของคุกกี้ที่คุณต้องการส่งไปยัง URL ที่ระบุ ค่าเริ่มต้น: ไม่มี
- ส่วนหัว – นี่คือพจนานุกรมที่มีส่วนหัว HTTP ที่คุณต้องการส่งไปยัง URL ค่าเริ่มต้น: ไม่มี
- สตรีม – เป็นค่าบูลีน จริง หรือ เท็จ ที่ระบุว่าควรสตรีมการตอบสนอง ( True ) หรือดาวน์โหลดทันที ( False ) ค่าเริ่มต้น: False
- พร็อกซี่ – นี่คือพจนานุกรมของโปรโตคอลสำหรับ URL ของพร็อกซี ค่าเริ่มต้น: ไม่มี
เรียนรู้เพิ่มเติม: ไลบรารี Python สำหรับการเรียนรู้ของเครื่อง
หลังจากส่งคำขอ GET สำเร็จ เมธอดจะส่งคืน อ็อบเจ็กต์การ ร้องขอ อ็อบเจ็กต์นี้เก็บการตอบสนองที่ได้รับจากเซิร์ฟเวอร์ คุณสามารถเก็บผลลัพธ์ของเมธอด get() ไว้ในตัวแปรได้ จากนั้น คุณสามารถตรวจสอบรายละเอียดของคำตอบนี้ได้ คุณสมบัติสำคัญที่ช่วยคุณในเรื่องนี้มีดังต่อไปนี้:

- response.content – ให้เนื้อหาของข้อมูลตอบกลับ
- response.status_code – ให้สถานะคำขอของคุณ ตัวอย่างเช่น 200 OK หมายถึงคำขอของคุณสำเร็จ แต่ 404 NOT FOUND หมายความว่าคำขอของคุณไม่สามารถค้นหาแหล่งข้อมูลให้คุณได้
- response.cookies – ใช้เพื่อรับอ็อบเจกต์ CookieJar ที่มีคุกกี้ทั้งหมดที่คุณได้รับจากเซิร์ฟเวอร์
โพสต์คำขอ
คุณสามารถส่งข้อมูลบางอย่างไปยังเซิร์ฟเวอร์โดยใช้ เมธอด post( ) ไวยากรณ์พื้นฐานสำหรับคำขอคือ:
Request.post (url, data={key: value}, json={key: value}, args)
พารามิเตอร์ที่สำคัญบางประการ ได้แก่ :
- url – นี่คือ URL ที่คุณต้องการส่งข้อมูล นี่เป็นพารามิเตอร์บังคับ
- ข้อมูล – นี่เป็นพารามิเตอร์ทางเลือกที่ระบุพจนานุกรม วัตถุไฟล์ หรือทูเพิลที่คุณต้องการส่งไปยัง URL
- json – นี่คือวัตถุ JSON ที่จะส่งไปยัง URL
args สามารถเป็นอาร์กิวเมนต์ที่มีชื่อต่างกันได้ เช่น:
- ไฟล์ – นี่คือพจนานุกรมของไฟล์สำหรับส่งไปยัง URL
- ส่วนหัว – พจนานุกรมของส่วนหัว HTTP เพื่อส่งไปยัง URL ที่ระบุ
- คุกกี้ – ระบุพจนานุกรมของคุกกี้ที่คุณอาจต้องการส่ง
เช่นเดียวกับ get() เมธอด post() จะส่งคืนอ็อบเจกต์ request.Response ด้วย
ห่อ
บท แนะนำ โมดูลคำขอหลาม ด้านบนจะช่วยคุณในการสร้างคำขอเซิร์ฟเวอร์ขั้นพื้นฐาน สิ่งหนึ่งที่ต้องจำไว้คือเมธอด get() มีความปลอดภัยน้อยกว่า post() เนื่องจากใน get() พารามิเตอร์จะถูกส่งผ่าน URL ดังนั้น ข้อมูลที่ละเอียดอ่อน เช่น รหัสผ่าน อาจถูกเปิดเผย ดังนั้น ใช้ post() ในสถานการณ์ที่จำเป็นต้องแลกเปลี่ยนรหัสผ่านหรือข้อมูลสำคัญ
หากคุณอยากเรียนรู้เกี่ยวกับ Python, data science, ลองดู IIIT-B & upGrad's Executive PG Program in Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10 แบบ, เวิร์กช็อปภาคปฏิบัติ, การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม แบบตัวต่อตัวกับที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
การใช้โมดูลคำขอใน Python คืออะไร?
สำหรับการส่งคำขอ HTTP ไปยัง URL ที่ระบุ ไลบรารีคำขอจะใช้ใน Python มีฟังก์ชันในตัวหลายอย่างใน Python สำหรับจัดการทั้งคำขอและการตอบสนอง
ในการส่งคำขอ HTTP ไปยัง URL ที่ระบุ โมดูลคำขอ Python จะถูกใช้โดยได้รับความช่วยเหลือจากคำขอต่างๆ เช่น HEAD, GET, PATCH, POST และ PUT เหตุผลหลักในการส่งคำขอ HTTP คือการดึงข้อมูลจากเซิร์ฟเวอร์หรือส่งข้อมูลบางอย่างไปยังเซิร์ฟเวอร์ เราสามารถพูดได้ว่าคำขอจะทำหน้าที่เป็นสะพานเชื่อมระหว่างไคลเอนต์และเซิร์ฟเวอร์สำหรับการส่งและรับคำขอ คำขอทั้งหมด 5 ประเภทใช้เพื่อวัตถุประสงค์ที่แตกต่างกันตามข้อกำหนด
ข้อความตอบกลับ 3 ส่วนคือข้อใด
ข้อความ HTTP ทั้งหมดเป็นบล็อกข้อมูลที่เรียบง่ายและจัดรูปแบบ ทุกข้อความจะประกอบด้วยข้อความร้องขอจากฝั่งไคลเอ็นต์หรือข้อความตอบกลับจากฝั่งเซิร์ฟเวอร์ ทุกข้อความ HTTP แบ่งออกเป็น 3 ส่วน:
1. บรรทัดเริ่มต้นเพื่ออธิบายข้อความ
2. บล็อกส่วนหัวที่ประกอบด้วยแอตทริบิวต์ทั้งหมด
3. ส่วนของร่างกายเสริมที่มีข้อมูลที่จำเป็นในการส่ง
URL ในข้อความ HTTP หมายถึงที่อยู่ของทรัพยากร ในทางกลับกัน โปรโตคอลจะอ้างถึงโปรโตคอล HTTP ที่ต้องใช้ในการดึงข้อมูล
วิธี POST ทำอะไรใน Python
โดยปกติ วิธี POST จะใช้ในรูปแบบเมื่อต้องส่งข้อมูลจากแบบฟอร์มไปยังเซิร์ฟเวอร์เพื่ออัปเดตข้อมูลที่มีอยู่ในเซิร์ฟเวอร์ โมดูลคำขอมีวิธีการ POST ที่สามารถส่งข้อมูลไปยังเซิร์ฟเวอร์ได้โดยตรงโดยใช้ URL และค่าของพารามิเตอร์ เป็นวิธีการขอที่ใช้สำหรับส่งแบบฟอร์มเว็บหรืออัปโหลดไฟล์ใดๆ