Ba’zi ilovalar IP:port talab qiladi. Boshqalariga http:// yoki socks5:// bilan boshlanadigan URL kerak. Brauzer sozlamalarida manzil va port ko‘pincha alohida maydonlarda bo‘ladi. Shuning uchun bir oxirgi nuqta manzili o‘zgarmasdan bir nechta formatda ko‘rinishi mumkin.

IPv4 yozuvi

Aytaylik, HTTP proksi ro‘yxati misol sifatida 203.0.113.10:8080 HTTP proksisini beradi.

Ilova nimani so‘raydiKiriting
Host yoki IP203.0.113.10
Port8080
HTTP proksi URL’ihttp://203.0.113.10:8080

Portni ikki marta kiritmang. Ilovada port maydoni allaqachon bo‘lsa, host maydoniga 203.0.113.10:8080 yozish butun satrni host nomi sifatida aniqlashga urinishiga olib kelishi mumkin. Xuddi shuningdek, faqat IP manzilini kutishini aniq bildirgan maydonga sxema qo‘shmang.

Sxema xizmatga mos kelishi kerak. Manzilni aylantirishdan oldin mijoz qo‘llab-quvvatlashiga qarab HTTP yoki SOCKS5 tanlang. HTTP oxirgi nuqtasi oldiga socks5:// yozish mijoz yuboradigan narsani o‘zgartiradi; serverda SOCKS5’ni yoqmaydi.

URL ichidagi IPv6 uchun kvadrat qavs kerak

IPv6 manzilida ikki nuqtalar bor, shu sabab URL portni qo‘shishdan oldin manzilni kvadrat qavsga oladi:

http://[2001:db8::10]:8080
socks5://[2001:db8::10]:1080

Qavssiz manzil bilan port chegarasi noaniq. Alohida maydonli ilova odatda host sifatida 2001:db8::10, port sifatida 8080 kutadi; uning kiritish formatiga amal qiling. Bu ikki manzil hujjat misollari, ishlayotgan proksilar emas.

Har ikki nuqtada bo‘lish o‘rniga URL’ni tahlil qiling

Kichik Python skripti standart URL tahlilchisi bilan IPv4 va qavsli IPv6 URL’larini qayta ishlay oladi:

from urllib.parse import urlsplit

proxy = urlsplit("http://[2001:db8::10]:8080")
print(proxy.scheme)
print(proxy.hostname)
print(proxy.port)

hostname xususiyati manzilni qavssiz qaytaradi. Dastlabki satrni har ikki nuqtada bo‘lish bu misolni buzadi. Haqiqiy importchida hosti yo‘q yozuvlar, qo‘llanmaydigan sxemalar va 1–65535 tashqarisidagi portlarni ham rad eting. URL tahlili uning qismlarini beradi; xizmat mavjudligini isbotlamaydi.

Ro‘yxatda foydalanuvchi nomi va parol bo‘lsa

Keng tarqalgan URL tuzilishi — http://username:password@host:port. Kirish ma’lumotlaridagi @, # va / kabi belgilarni to‘g‘ri URL kodlash kerak. Mijoz kirish ma’lumotlari uchun alohida maydonlar bersa, odatda ulardan foydalanish URL’ni qo‘lda tuzishdan osonroq.

Ikki nuqta bilan ajratilgan kirish ma’lumotlari satrini aylantirishdan oldin provayderning asl formatini tekshiring. Shunday ajratilgan to‘rtta maydonning umumiy ma’nosi yo‘q va parolning o‘zida ham ikki nuqta bo‘lishi mumkin. Oddiy IP:port satrlari uchun yaratilgan tahlilchi boshqa formatni indamay taxmin qilmasligi kerak.

O'xshash maqolalar