Contents

วิธีจำกัดเวลาขอขด

เมื่อพูดถึงการร้องขอทางเว็บ เวลาเป็นสิ่งสำคัญ ไม่มีใครชอบที่จะรอ е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 

/th/images/using-maxtime-seconds-on-ubuntu.jpg

คำแนะนำนี้ส่งคำถามไปยังลิงก์ 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 

/th/images/using-connect-timeout-seconds-on-ubuntu.jpg

การใช้คำสั่ง curl การใช้งานนี้จะดาวน์โหลดเนื้อหาที่ฝังอยู่ภายใน URL ที่ให้มา และจัดเก็บเป็นไฟล์ชื่อ “test.md” นอกจากนี้ ยังกำหนดข้อจำกัดที่เข้มงวดไว้ที่ยี่สิบวินาทีเกี่ยวกับระยะเวลาที่จำเป็นในการสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล

ควบคุมคำขอ Curl สำหรับการดึงข้อมูล Swift

ในสภาพแวดล้อมที่เปลี่ยนแปลงไปอย่างรวดเร็วในปัจจุบัน ซึ่งประสิทธิภาพและประสิทธิผลเป็นสิ่งสำคัญยิ่ง ความสามารถในการจัดการระยะเวลาของคำขอ cURL ถือเป็นข้อได้เปรียบอย่างมาก ด้วยการใช้ตัวเลือก “–connect-timeout” หรือ “–max-time” จะทำให้สามารถควบคุมการดำเนินการดึงข้อมูลได้ ด้วยเหตุนี้ จะไม่มีช่วงเวลาที่สูญเปล่าอีกต่อไป เนื่องจากการสอบถามทางเว็บที่ได้รับการปรับปรุงและมีการควบคุมอย่างดีกลายเป็นบรรทัดฐานใหม่

เมื่อต้องเผชิญกับความเบื่อหน่ายครั้งต่อไปในการรอคำขอขดให้เสร็จสิ้น ให้พิจารณาใช้เทคนิคที่มีรายละเอียดในที่นี้เพื่อยืนยันการควบคุมการดำเนินคดีและนำความรู้สึกถึงจุดประสงค์มาสู่งานธรรมดาๆ