ตั้งค่า proxy สำหรับเส้นทาง legacy Google urllib ของ SpeechRecognition
เริ่มงานด้วยตัวแปร proxy ที่เกี่ยวข้องทั้งสองตัว และแยกแบ็กเอนด์นั้นจากไคลเอนต์แยกต่างหากของ recognize_google_cloud
สำหรับแบ็กเอนด์ legacy ของ Google ที่ใช้ opener ค่าเริ่มต้นของ urllib ให้เริ่ม Python ด้วย:
http_proxy=http://proxy.example:8080 https_proxy=http://proxy.example:8080 python recognize_job.pyแบ็กเอนด์สร้าง Request ของ urllib และเรียก urlopen เซสชัน Requests แยกต่างหากในแอปพลิเคชันโดยรอบไม่สามารถกำหนดเส้นทางของ opener นั้นได้
ตัวแปรทั้งสองมีความเกี่ยวข้องเพราะ endpoint legacy ค่าเริ่มต้นเป็น HTTP การตั้งค่าเพียง https_proxy จะทำให้คำขอ HTTP ค่าเริ่มต้นนั้นไม่ได้รับการกำหนดค่า ค่าของตัวแปรอธิบายโปรโตคอลของตัวกลาง สำหรับการทดสอบด้วยเสียงที่ไม่ละเอียดอ่อน รายการ proxy HTTP ให้ผู้สมัครสาธารณะสำหรับค่าเหล่านี้
ตั้งค่า operation_timeout ของตัวรู้จำเพื่อจำกัดการดำเนินการ urlopen นี้เมื่อจำเป็น ไทม์เอาต์การฟังไมโครโฟนควบคุมขั้นตอนก่อนหน้า
recognize_google_cloud ใช้ไคลเอนต์ Google Cloud Speech แทน ด้วย transport และการรับรองความถูกต้องของตัวเอง เก็บชื่อแบ็กเอนด์ endpoint ที่มีผล และขั้นตอนที่ล้มเหลวไว้กับข้อผิดพลาด แทนที่จะคัดลอกวิธี legacy ลงใน site-packages เพื่อเปลี่ยนเส้นทางที่ urllib รองรับอยู่แล้ว