Որոշ հավելվածներ պահանջում են IP:port։ Մյուսներին պետք է http:// կամ socks5://-ով սկսվող URL։ Բրաուզերի կարգավորումներում հասցեն ու պորտը հաճախ առանձին դաշտերում են։ Ուստի նույն վերջնակետը կարող է ներկայացվել մի քանի ձևաչափով՝ առանց հասցեն փոխելու։

IPv4 գրառում

Ենթադրենք՝ HTTP պրոքսիների ցանկը որպես օրինակ տալիս է 203.0.113.10:8080 HTTP պրոքսին։

Հավելվածը պահանջում էՄուտքագրեք
Հոսթ կամ IP203.0.113.10
Պորտ8080
HTTP պրոքսիի URLhttp://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 տողերի վերլուծիչը չպետք է լուռ գուշակի այլ ձևաչափ։

Առնչվող հոդվածներ