កម្មវិធីខ្លះត្រូវការ IP:port។ ខ្លះទៀតត្រូវការ URL ដែលផ្តើមដោយ http:// ឬ socks5://។ ការកំណត់កម្មវិធីរុករកជាញឹកញាប់ដាក់អាសយដ្ឋាន និង port ក្នុងវាលខុសគ្នា។ ដូច្នេះ endpoint ដូចគ្នាអាចមានទម្រង់ជាច្រើន ដោយអាសយដ្ឋានមិនផ្លាស់ប្តូរ។

ធាតុ IPv4

ឧបមាថាបញ្ជី HTTP proxy ផ្តល់ HTTP proxy ឧទាហរណ៍ 203.0.113.10:8080។

កម្មវិធីស្នើសុំបញ្ចូល
Host ឬ IP203.0.113.10
Port8080
URL របស់ HTTP proxyhttp://203.0.113.10:8080

កុំដាក់ port ពីរដង។ ប្រសិនបើកម្មវិធីមានវាល port រួចហើយ ការដាក់ 203.0.113.10:8080 ក្នុងវាល host អាចធ្វើឱ្យវាព្យាយាមដោះស្រាយខ្សែអក្សរទាំងមូលជាឈ្មោះ host។ ដូចគ្នានេះ កុំបន្ថែម scheme ទៅវាលដែលបញ្ជាក់ថាត្រូវការតែអាសយដ្ឋាន IP។

Scheme ត្រូវតែត្រូវនឹងសេវា។ ជ្រើសរើស HTTP ឬ SOCKS5 តាមការគាំទ្ររបស់ client មុនបម្លែងអាសយដ្ឋាន។ ការសរសេរ socks5:// នៅមុខ HTTP endpoint ផ្លាស់ប្តូរអ្វីដែល client ផ្ញើ ប៉ុន្តែមិនបើក SOCKS5 លើ server នោះទេ។

IPv6 ត្រូវការវង់ក្រចកការ៉េក្នុង URL

អាសយដ្ឋាន IPv6 មានសញ្ញាចុចពីរស្រាប់ ដូច្នេះ URL ដាក់អាសយដ្ឋានក្នុងវង់ក្រចកការ៉េ មុនបន្ថែម port៖

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

បើគ្មានវង់ក្រចក ព្រំដែនរវាងអាសយដ្ឋាន និង port មិនច្បាស់ទេ។ កម្មវិធីដែលមានវាលដាច់ដោយឡែកជាទូទៅចង់បាន 2001:db8::10 ជា host និង 8080 ជា port។ សូមធ្វើតាមទម្រង់បញ្ចូលរបស់កម្មវិធីនោះ។ អាសយដ្ឋានទាំងពីរនៅទីនេះជាឧទាហរណ៍ឯកសារ មិនមែន proxy កំពុងដំណើរការទេ។

វិភាគ URL ជំនួសឱ្យការបំបែកតាមរាល់សញ្ញាចុចពីរ

ស្គ្រីប Python តូចមួយអាចប្រើ URL parser ស្តង់ដារ ដើម្បីដោះស្រាយ URL IPv4 និង IPv6 ដែលមានវង់ក្រចក៖

from urllib.parse import urlsplit

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

លក្ខណៈ hostname ផ្តល់អាសយដ្ឋានដោយគ្មានវង់ក្រចក។ ការបំបែកខ្សែអក្សរដើមតាមរាល់សញ្ញាចុចពីរ នឹងធ្វើឱ្យឧទាហរណ៍នេះខូច។ ក្នុងកម្មវិធីនាំចូលពិតប្រាកដ ត្រូវបដិសេធ host ដែលបាត់ scheme ដែលមិនគាំទ្រ និង port ក្រៅ 1–65535 ផងដែរ។ ការវិភាគ URL ផ្តល់ធាតុផ្សំរបស់វា ប៉ុន្តែមិនបញ្ជាក់ថាសេវាមានទេ។

ពេលបញ្ជីមានឈ្មោះអ្នកប្រើ និងពាក្យសម្ងាត់

ទម្រង់ URL ទូទៅគឺ http://username:password@host:port។ តួអក្សរដូចជា @, # និង / ក្នុងព័ត៌មានចូលប្រើ ត្រូវការ URL encoding ត្រឹមត្រូវ។ ប្រសិនបើ client ផ្តល់វាលព័ត៌មានចូលប្រើដាច់ដោយឡែក ការប្រើវាលទាំងនោះជាទូទៅងាយជាងការបង្កើត URL ដោយដៃ។

ពិនិត្យទម្រង់ដើមរបស់អ្នកផ្តល់សេវា មុនបម្លែងខ្សែអក្សរព័ត៌មានចូលប្រើដែលបំបែកដោយសញ្ញាចុចពីរ។ វាលបួនដែលបំបែកបែបនេះមិនមានអត្ថន័យសកលទេ ហើយពាក្យសម្ងាត់ខ្លួនឯងក៏អាចមានសញ្ញាចុចពីរ។ Parser សម្រាប់បន្ទាត់ IP:port ធម្មតា មិនគួរទាយទម្រង់ផ្សេងដោយស្ងៀមស្ងាត់ទេ។

អត្ថបទពាក់ព័ន្ធ