Python Requests: proxies გადაეცით request()-ს და არა Request-ს
პროქსის კონფიგურაცია მოათავსეთ მოთხოვნის გამომგზავნ API-ში და არა Request ობიექტის კონსტრუქტორში, რომელიც HTTP შეტყობინებას აღწერს.
Requests გვთავაზობს Request კლასს და პატარა ასოებით დაწერილ request ფუნქციას. ასოების ზომის შეცვლამ შეიძლება გამოიძახოს ვალიდური API არასწორი არგუმენტების სიით, უცნობი ფუნქციის მარტივი შეცდომის ნაცვლად.
Request ობიექტი HTTP შეტყობინებას აღწერს. პროქსის კონფიგურაცია ეკუთვნის API-ს, რომელიც მას აგზავნის. ჩვეულებრივი გამოძახებისთვის:
response = requests.request(
'GET', 'https://example.com/',
proxies=routes, timeout=15
)აქ routes არის ამ ოპერაციისთვის შერჩეული პროქსის რუკა. ნებადართული საჯარო მოთხოვნებისთვის უფასო პროქსების სიიდან შეგიძლიათ აირჩიოთ კანდიდატები, რომლებიც ფორმატდება იმ პროტოკოლით, რომელსაც ეს Requests ინსტალაცია მხარს უჭერს. იგივე proxies საკვანძო სიტყვის requests.Request-ის კონსტრუქტორში გადაცემა ეკვივალენტური არ არის.
თუ აპლიკაცია განზრახ იყენებს მომზადებულ მოთხოვნებს, შეტყობინების მომზადება და გაგზავნის კონფიგურაცია ცალ-ცალკე შეინახეთ. სესიის გაგზავნის ნაკადს ასევე სჭირდება განზრახული გარემოს გაერთიანება, დროის ლიმიტი, შემოწმება და პროქსის პარამეტრები.
გამოასწორეთ API-ის შეუსაბამობა პროქსის ბოლო წერტილების შეცვლამდე. კონსტრუქტორის TypeError ხდება მანამ, სანამ ამ ობიექტს განზრახული ქსელური მოთხოვნა შესრულებული ექნება.