Twój plik proxy to pula, a nie tabela routingu Requests
Zamień wpis uwierzytelnionej listy proxy na wybrany punkt końcowy, nie używając adresów proxy jako kluczy routingu miejsca docelowego.
Wybierz jeden serwer proxy z pliku, a następnie zbuduj mapę tras dla żądania do witryny. Pula kandydujących punktów końcowych sama w sobie nie jest słownikiem routingu Requests.
- Przeanalizuj wpis według zdefiniowanego formatu. Nieformalny wiersz
IP:port:user:passwordjest niejednoznaczny, gdy adresy IPv6 lub dane logowania zawierają dwukropki. Dla hosta IPv4, numerycznego portu i nazwy użytkownika bez dwukropka ograniczony podział może pozostawić resztę tekstu jako hasło. Gdy te ograniczenia nie pasują, użyj osobnych pól strukturalnych. - Wybierz punkt końcowy dla tej operacji. Zachowaj jego rzeczywisty protokół i zakoduj składniki danych logowania podczas budowania jego adresu URL. Trzymaj tę wartość niosącą sekret poza zwykłymi dziennikami.
- Przypisz schematy miejsca docelowego do tego wybranego adresu URL. Dla jednego wybranego proxy HTTP mapa może wyglądać tak:
routes = {
'http': selected_proxy_url,
'https': selected_proxy_url,
}Klucze http i https wybierają schematy miejsca docelowego. Klucz taki jak http://203.0.113.10 wybiera natomiast żądania do dokładnie tego hosta docelowego; nie oznacza proxy pod tym adresem. Używanie każdego adresu IP proxy jako klucza może pozostawić niezwiązaną witrynę bez zamierzonej trasy.
Przeanalizuj pulę raz, wybierz punkt końcowy i utwórz mapowanie dla wywołania klienta. Trzymanie tych kroków osobno pozwala zmienić politykę wyboru bez zmiany znaczenia kluczy routingu Requests.