วิธีจำกัดเวลาขอขด
เมื่อพูดถึงการร้องขอทางเว็บ เวลาเป็นสิ่งสำคัญ ไม่มีใครชอบที่จะรอ еndlеssly เพื่อให้ wеbpagе โหลดหรือ sеrvеr ที่จะตอบสนอง หากคุณใช้ curl เพื่อดึงข้อมูลจากเว็บ คุณจะยินดีที่ทราบว่ามีวิธีต่างๆ มากมายที่จะจำกัดเวลาที่คำขอของคุณใช้
เพื่อรักษาระดับการควบคุมกิจกรรมการดึงข้อมูลของคุณ ขอแนะนำให้กำหนดข้อจำกัดเกี่ยวกับระยะเวลาของคำขอ cURL ซึ่งสามารถทำได้โดยการตั้งค่าขีดจำกัดเวลาที่เฉพาะเจาะจงสำหรับคำขอแต่ละรายการ และต้องแน่ใจว่าจะไม่เกินขีดจำกัดนี้ การทำเช่นนี้จะทำให้เราสามารถควบคุมระยะเวลาที่ใช้ในการดึงข้อมูลผ่าน cURL ได้อย่างมีประสิทธิภาพ และหลีกเลี่ยงปัญหาที่อาจเกิดขึ้นจากการถ่ายโอนข้อมูลที่ใช้เวลานานหรือข้อกังวลอื่นๆ ที่เกี่ยวข้อง
วิธีที่ 1: การใช้ตัวเลือก –max-time
ขณะดำเนินการคำสั่ง curl
ผู้ใช้อาจใช้ตัวเลือก -m
หรือ --max-time
เพื่อกำหนดข้อจำกัดด้านเวลาที่เข้มงวดตามคำขอ การกำหนดค่านี้อนุญาตให้กำหนดระยะเวลาสูงสุดในหน่วยวินาที ซึ่งคำสั่งได้รับอนุญาตให้รันก่อนที่จะยุติอย่างกะทันหัน และสร้างโค้ดทางออกที่แสดงถึงข้อผิดพลาดการหมดเวลา (28)
curl --max-timе [sеconds] [URL]
ความแม่นยำของทศนิยมทำให้สามารถระบุค่าสูงสุดได้อย่างแม่นยำมากกว่าค่าจำนวนเต็ม ตัวอย่างเช่น การตั้งค่าขีดจำกัดเวลาสูงสุด 0.3 วินาทีเท่ากับ 300 มิลลิวินาที ในขณะที่ขีดจำกัดเวลาสูงสุด 5.46 วินาทีจะเท่ากับ 5,460 มิลลิวินาที ในทำนองเดียวกัน การจำกัดเวลาสูงสุด 20 วินาทีสามารถกำหนดได้อย่างแม่นยำเท่ากับ 20 วินาที
ตัวอย่างเช่น:
curl -o test.md --max-time 30 https://github.com/test/file1
คำแนะนำนี้ส่งคำถามไปยังลิงก์ GitHub ที่ให้มา ข้อมูลตอบกลับจะถูกบันทึกไว้ใน test.md และการดำเนินการจะสิ้นสุดภายในระยะเวลาสูงสุดสามสิบวินาที
วิธีที่ 2: การใช้ตัวเลือก –connect-timeout
หากต้องการควบคุมระยะเวลาที่ cURL ใช้เพื่อพยายามสร้างการเชื่อมต่อกับโฮสต์เฉพาะ ให้ใช้ตัวเลือก --connect-timeout
พารามิเตอร์นี้กำหนดเพดานตามระยะเวลาทั้งหมดที่กำหนดสำหรับการม้วนผมผ่านขั้นตอนต่างๆ ที่จำเป็นในการสร้างการเชื่อมต่อที่ประสบความสำเร็จ ซึ่งรวมถึงกระบวนการต่อไปนี้:
หากไลบรารี libcurl ไม่สามารถเริ่มต้นการเชื่อมต่อภายในขีดจำกัดเวลาที่กำหนดไว้ ไลบรารีจะสร้างรหัสข้อผิดพลาดที่สอดคล้องกับการหมดเวลา (28)
curl --connect-timeout [seconds] [URL]
ตัวอย่างเช่น:
curl -o test.md --connect-time 20 https://github.com/test/file
การใช้คำสั่ง curl การใช้งานนี้จะดาวน์โหลดเนื้อหาที่ฝังอยู่ภายใน URL ที่ให้มา และจัดเก็บเป็นไฟล์ชื่อ “test.md” นอกจากนี้ ยังกำหนดข้อจำกัดที่เข้มงวดไว้ที่ยี่สิบวินาทีเกี่ยวกับระยะเวลาที่จำเป็นในการสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล
ควบคุมคำขอ Curl สำหรับการดึงข้อมูล Swift
ในสภาพแวดล้อมที่เปลี่ยนแปลงไปอย่างรวดเร็วในปัจจุบัน ซึ่งประสิทธิภาพและประสิทธิผลเป็นสิ่งสำคัญยิ่ง ความสามารถในการจัดการระยะเวลาของคำขอ cURL ถือเป็นข้อได้เปรียบอย่างมาก ด้วยการใช้ตัวเลือก “–connect-timeout” หรือ “–max-time” จะทำให้สามารถควบคุมการดำเนินการดึงข้อมูลได้ ด้วยเหตุนี้ จะไม่มีช่วงเวลาที่สูญเปล่าอีกต่อไป เนื่องจากการสอบถามทางเว็บที่ได้รับการปรับปรุงและมีการควบคุมอย่างดีกลายเป็นบรรทัดฐานใหม่
เมื่อต้องเผชิญกับความเบื่อหน่ายครั้งต่อไปในการรอคำขอขดให้เสร็จสิ้น ให้พิจารณาใช้เทคนิคที่มีรายละเอียดในที่นี้เพื่อยืนยันการควบคุมการดำเนินคดีและนำความรู้สึกถึงจุดประสงค์มาสู่งานธรรมดาๆ