პროქსის IP და პორტი: რომელი ფორმატი სჭირდება აპს?
პროქსების სიის ჩანაწერი გადააქციეთ HTTP ან SOCKS URL-ად, შეავსეთ ჰოსტისა და პორტის ცალკე ველები და სწორად ჩაწერეთ IPv6 მისამართები.
ზოგი აპი ითხოვს IP:port ფორმატს. სხვებს სჭირდებათ URL, რომელიც იწყება http:// ან socks5://-ით. ბრაუზერის პარამეტრებში მისამართი და პორტი ხშირად ცალკე ველებშია. ამიტომ ერთი და იგივე ბოლო წერტილი შეიძლება რამდენიმე ფორმატით გამოჩნდეს მისამართის შეუცვლელად.
IPv4 ჩანაწერი
დავუშვათ, HTTP პროქსების სია მაგალითად გვაძლევს HTTP პროქსის 203.0.113.10:8080.
| რას ითხოვს აპი | შეიყვანეთ |
|---|---|
| ჰოსტი ან IP | 203.0.113.10 |
| პორტი | 8080 |
| HTTP პროქსის URL | http://203.0.113.10:8080 |
პორტი ორჯერ არ მიუთითოთ. თუ აპს უკვე აქვს პორტის ველი, ჰოსტის ველში 203.0.113.10:8080-ის ჩაწერამ შეიძლება მთელი სტრიქონის ჰოსტის სახელად ამოხსნა სცადოს. ასევე, სქემას ნუ დაუმატებთ ველს, რომელიც აშკარად მხოლოდ IP მისამართს ელის.
სქემა სერვისს უნდა შეესაბამებოდეს. მისამართის გარდაქმნამდე აირჩიეთ HTTP ან SOCKS5 კლიენტის მხარდაჭერის მიხედვით. HTTP ბოლო წერტილის წინ socks5://-ის ჩაწერა ცვლის კლიენტის მიერ გაგზავნილს, მაგრამ სერვერზე SOCKS5-ს არ რთავს.
URL-ში IPv6-ს კვადრატული ფრჩხილები სჭირდება
IPv6 მისამართი უკვე შეიცავს ორწერტილებს, ამიტომ URL პორტის დამატებამდე მისამართს კვადრატულ ფრჩხილებში სვამს:
http://[2001:db8::10]:8080
socks5://[2001:db8::10]:1080
ფრჩხილების გარეშე მისამართსა და პორტს შორის ზღვარი ბუნდოვანია. ცალკე ველების მქონე აპი ჩვეულებრივ ჰოსტად 2001:db8::10-ს და პორტად 8080-ს ელის; მიჰყევით აპის შეყვანის ფორმატს. აქ ორივე მისამართი დოკუმენტაციის მაგალითია და არა მოქმედი პროქსი.
გაარჩიეთ URL და ნუ დაყოფთ ყოველ ორწერტილზე
პატარა Python სკრიპტს სტანდარტული URL პარსერით შეუძლია IPv4 და ფრჩხილებიანი IPv6 URL-ების დამუშავება:
from urllib.parse import urlsplit
proxy = urlsplit("http://[2001:db8::10]:8080")
print(proxy.scheme)
print(proxy.hostname)
print(proxy.port)
hostname თვისება მისამართს ფრჩხილების გარეშე აბრუნებს. საწყისი სტრიქონის ყოველ ორწერტილზე დაყოფა ამ მაგალითს დააზიანებდა. ნამდვილ იმპორტიორში უარყავით გამოტოვებული ჰოსტები, მხარდაუჭერელი სქემები და 1–65535-ის გარეთ პორტებიც. URL-ის გარჩევა მის კომპონენტებს გაძლევთ, მაგრამ სერვისის არსებობას არ ამტკიცებს.
როცა სიაში მომხმარებლის სახელი და პაროლია
URL-ის გავრცელებული აგებულებაა http://username:password@host:port. ავტორიზაციის მონაცემებში @, # და / ტიპის სიმბოლოებს სათანადო URL კოდირება სჭირდება. თუ კლიენტს ამ მონაცემებისთვის ცალკე ველები აქვს, მათი გამოყენება ჩვეულებრივ URL-ის ხელით აწყობაზე მარტივია.
ორწერტილებით გამოყოფილი ავტორიზაციის მონაცემების გარდაქმნამდე გადაამოწმეთ მომწოდებლის საწყისი ფორმატი. ასე გამოყოფილ ოთხ ველს უნივერსალური მნიშვნელობა არ აქვს და პაროლიც შეიძლება შეიცავდეს ორწერტილს. მარტივი IP:port ხაზებისთვის შექმნილმა პარსერმა სხვა ფორმატი ჩუმად არ უნდა გამოიცნოს.