HTTP ಪ್ರಾಕ್ಸಿ ಪೂರೈಕೆದಾರರ IPv4 ಸ್ವರೂಪ 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 ಗಳನ್ನು ಸಾಮಾನ್ಯ ಲಾಗ್‌ಗಳಿಂದ ದೂರವಿಡಿ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು