Xin chào các bạn, Các bạn có khỏe không? Hy vọng tất cả các bạn vẫn ổn. Hôm nay tôi đang chạy proxy của mình theo yêu cầu nhưng nó cho tôi lỗi sau ValueError: check_hostname yêu cầu server_hostname Trong Python. Vì vậy, ở đây tôi giải thích cho bạn tất cả các giải pháp khả thi ở đây.

Không lãng phí thời gian của bạn, Hãy bắt đầu bài viết này để giải quyết lỗi này.

Làm thế nào ValueError: check_hostname yêu cầu server_hostname Lỗi xảy ra?

Tôi đang chạy proxy của mình theo yêu cầu nhưng nó cho tôi lỗi sau.

raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname

Đây là mã của tôi

proxyArr ={
    'http':'http://my correct proxy here: myport',
    'https':'https://my correct proxy here: myport'
}
self.response=requests.get(url=url,headers=self.headers,proxies=proxyArr )

Cách giải quyết lỗi ValueError: check_hostname yêu cầu lỗi server_hostname?

  1. Cách giải quyết lỗi ValueError: check_hostname yêu cầu lỗi server_hostname?

    Để giải quyết lỗi ValueError: check_hostname yêu cầu lỗi server_hostname Trong urllib3 phiên bản 1.25.11 hoạt động hoàn hảo. Vì vậy, bạn có thể cài đặt urllib3 1.25.11 bằng cách làm theo dòng lệnh. Trên thực tế urllib3 lược đồ chính của proxy đã được thay đổi và nếu bạn đang sử dụng urllib3 = 1,26,4 sau đó làm theo mã dưới đây. Chỉ cần hạ cấp phiên bản urllib3 bằng cách chạy lệnh này. Bạn có thể sử dụng pip install urllib3 == 1.25.8.

Giải pháp 1: Sử dụng urllib3 1.25.11

Trong phiên bản 1.25.11 urllib3 hoạt động hoàn hảo. Vì vậy, bạn có thể cài đặt urllib3 1.25.11 bằng cách sau dòng lệnh.

pip install urllib3==1.25.11

Giải pháp 2: urllib3 lược đồ chính đã thay đổi

Trên thực tế urllib3 lược đồ chính của proxy đã được thay đổi và nếu bạn đang sử dụng urllib3 = 1,26,4 sau đó làm theo mã dưới đây.

Đây là mã cũ trước khi lược đồ proxy được thay đổi

proxyArr ={
    'http':'http://my correct proxy here: myport',
    'https':'https://my correct proxy here: myport'
}
self.response=requests.get(url=url,headers=self.headers,proxies=proxyArr )

Đây là mã mới sau khi lược đồ proxy đã được thay đổi.

proxyArr = {'https': 'http://8.88.888.8:8888'} 

self.response=requests.get(url=url,headers=self.headers,proxies=proxyArr )

Giải pháp 3: Hạ cấp urllib3

Chỉ cần hạ cấp phiên bản urllib3 bằng cách chạy lệnh này.

Bạn có thể dùng pip install urllib3==1.25.8

Summery

Đó là tất cả về vấn đề này. Hy vọng tất cả các giải pháp đã giúp bạn rất nhiều. Bình luận bên dưới Suy nghĩ của bạn và truy vấn của bạn. Ngoài ra, hãy Comment bên dưới giải pháp nào phù hợp với bạn?

Cũng đọc