Yêu cầu Python - Không có bộ điều hợp kết nối


208

Tôi đang sử dụng thư viện Requests: HTTP for Humans và tôi đã gặp phải lỗi lạ này và tôi không biết ý nghĩa của nó là gì.

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

Bất cứ ai cũng có một ý tưởng?

Câu trả lời:


380

Bạn cần bao gồm lược đồ giao thức:

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

Không có http://phần, requestskhông có ý tưởng làm thế nào để kết nối với máy chủ từ xa.

Lưu ý rằng sơ đồ giao thức phải là tất cả chữ thường; nếu URL của bạn bắt đầu bằng HTTP://ví dụ, nó sẽ không tìm thấy http://bộ điều hợp kết nối.


@MartijnPieters Gói nào bạn khuyên dùng để tải xuống tệp bằng ftp?
AstroFloyd

@AstroFloyd Tôi không có bất kỳ đề xuất nào ở đó, xin lỗi.
Martijn Pieters

Tôi xin lỗi - Tôi nghĩ rằng tôi đã trả lời nhận xét của bạn về câu trả lời của người khác cho một câu hỏi khác. Dù sao, tôi đã gặp lỗi ở trên vì tôi đã cố tải xuống một tệp qua FTP. Câu trả lời này đưa ra giải pháp cho vấn đề đó, "thậm chí" cho Python3.
AstroFloyd

@AstroFloyd: có, requestshoàn toàn dành cho HTTP, không phải bất kỳ giao thức nào khác.
Martijn Pieters

28

Thêm một lý do nữa, có thể url của bạn bao gồm một số ký tự bị ẩn, chẳng hạn như '\ n'.

Nếu bạn xác định url của mình như bên dưới, ngoại lệ này sẽ tăng:

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

bởi vì có '\ n' ẩn trong chuỗi. Các url trong thực tế trở thành:

\nhttp://google.com\n

9
Hoặc nếu url của bạn vô tình là một tuple vì dấu phẩy dấu vếturl = self.base_url % endpoint,
Christian Long

@ChristianLong có cách nào để chuyển đổi một chuỗi thành url đúng không? Giống như, bạn có thể cho tôi biết, bạn đang làm gì trong bình luận của bạn?
Ravi Shankar Bharti
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.