បម្លែងធាតុ IPv4 ip:port:user:password សម្រាប់ Requests
ញែក ip:port:user:password ដោយការបំបែកមានព្រំដែន ហើយអ៊ិនកូដធាតុផ្សំនៃព័ត៌មានសម្គាល់មុនពេលបង្កើតផែនទីប្រូកស៊ី។
សម្រាប់ទ្រង់ទ្រាយ IPv4 របស់អ្នកផ្តល់ប្រូកស៊ី HTTP ip:port:user:password សូមបម្លែងវាលនានាមុនពេលផ្តល់តម្លៃទៅ Requests៖
from ipaddress import IPv4Address
from urllib.parse import quote
def proxy_map(line):
host, port, user, password = line.rstrip('\r\n').split(':', 3)
host = str(IPv4Address(host))
port = int(port)
if not 1 <= port <= 65535:
raise ValueError('Proxy port is out of range')
credentials = quote(user, safe='') + ':' + quote(password, safe='')
url = f'http://{credentials}@{host}:{port}'
return {'http': url, 'https': url}
ការបំបែកមានព្រំដែនរក្សាទុកសញ្ញាចុចពីរបន្ថែមនៅក្នុងពាក្យសម្ងាត់។ ការដកចេញតែចុងបន្ទាត់ក៏រារាំងការដកចេញដោយស្ងាត់នូវចន្លោះដែលអាចជាផ្នែកនៃព័ត៌មានសម្គាល់។
អ៊ិនកូដឈ្មោះអ្នកប្រើ និងពាក្យសម្ងាត់ជាធាតុ URL ដាច់ដោយឡែក។ សញ្ញា @ ក្នុងពាក្យសម្ងាត់ឆៅមិនត្រូវច្រឡំជាមួយសញ្ញាបំបែកមុនម៉ាស៊ីនប្រូកស៊ីឡើយ។ អនុគមន៍នេះរំពឹងព័ត៌មានសម្គាល់ឆៅ។ ការផ្តល់អត្ថបទដែលអ៊ិនកូដរួចហើយអាចអ៊ិនកូដសញ្ញាភាគរយម្តងទៀត។
ផែនទីដែលបានត្រឡប់មកជ្រើសរើសប្រូកស៊ីនេះសម្រាប់គោលដៅ HTTP និង HTTPS។ កូនសោដូចជា http://192.0.2.10 មានអត្ថន័យផ្សេងក្នុង Requests៖ វាជ្រើសរើសផ្លូវសម្រាប់ម៉ាស៊ីនគោលដៅនោះ។ វាមិនមែនជាលិបិក្រមនៃស្តុកម៉ាស៊ីនបម្រើប្រូកស៊ីទេ។
ឧបករណ៍ញែកទទួលយកដោយចេតនាតែទ្រង់ទ្រាយ IPv4 ដែលបានបញ្ជាក់ប៉ុណ្ណោះ។ វាមិនគ្របដណ្តប់ឈ្មោះអ្នកប្រើដែលមានសញ្ញាចុចពីរ ឬអាសយដ្ឋាន IPv6 ដោយគ្មានវង់ក្រចកទេ។ ទាំងនោះត្រូវការទ្រង់ទ្រាយបញ្ចូលមិនស្រពិចស្រពិល។ រក្សា URL ដែលបង្កើតមានព័ត៌មានសម្គាល់ឱ្យនៅក្រៅកំណត់ហេតុធម្មតា។