คำขอ Python - ไม่มีอะแดปเตอร์เชื่อมต่อ


209

ฉันใช้คำขอ: HTTP สำหรับห้องสมุดมนุษย์และฉันได้รับข้อผิดพลาดแปลก ๆ นี้และฉันไม่รู้ว่าหมายถึงอะไร

No connection adapters were found for '192.168.1.61:8080/api/call'

ใครมีความคิดบ้าง

คำตอบ:


382

คุณต้องรวมรูปแบบโปรโตคอล:

'http://192.168.1.61:8080/api/call'

ไม่มีhttp://ส่วนrequestsไม่มีความคิดวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล

โปรดทราบว่ารูปแบบโปรโตคอลจะต้องเป็นตัวพิมพ์เล็กทั้งหมด หาก URL ของคุณเริ่มต้นด้วยHTTP://จะไม่พบhttp://อะแดปเตอร์เชื่อมต่อเช่นกัน


@MartijnPieters แพ็คเกจใดที่คุณแนะนำให้ดาวน์โหลดไฟล์โดยใช้ ftp
AstroFloyd

@AstroFloyd ฉันไม่มีคำแนะนำใด ๆ ขออภัย
Martijn Pieters

ฉันขอโทษ - ฉันคิดว่าฉันตอบความคิดเห็นของคุณในคำตอบของคนอื่นสำหรับคำถามอื่น อย่างไรก็ตามฉันได้รับข้อผิดพลาดข้างต้นเพราะฉันพยายามดาวน์โหลดไฟล์ผ่าน FTP คำตอบนี้ให้ทางออกสำหรับปัญหานั้น "แม้" สำหรับ Python3
AstroFloyd

@AstroFloyd: ใช่requestsสำหรับ HTTP เท่านั้นไม่ใช่โปรโตคอลอื่น ๆ
Martijn Pieters

28

อีกเหตุผลหนึ่งอาจเป็นเพราะ URL ของคุณมีอักขระที่ซ่อนไว้เช่น '\ n'

หากคุณกำหนด url ของคุณเช่นด้านล่างข้อยกเว้นนี้จะเพิ่ม:

url = '''
http://google.com
'''

เนื่องจากมี '\ n' ซ่อนอยู่ในสตริง ความจริงแล้ว url กลายเป็น:

\nhttp://google.com\n

9
หรือถ้า URL ของคุณเป็นทูเปิลโดยไม่ได้ตั้งใจเนื่องจากคอมม่าต่อท้ายurl = self.base_url % endpoint,
Christian Long

@ChristianLong มีวิธีการแปลงสตริงเป็น URL ที่เหมาะสมหรือไม่ คุณบอกฉันได้ไหมคุณทำอะไรในความคิดเห็นของคุณ
Ravi Shankar Bharti
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.