ಪ್ರಾಕ್ಸಿ ಪಾಸ್ವರ್ಡ್ಗಳಲ್ಲಿನ ವಿಶೇಷ ಅಕ್ಷರಗಳು
@, ಕೊಲನ್, ಸ್ಲ್ಯಾಶ್ ಮತ್ತು # URL ಹಾಳುಮಾಡದಂತೆ ಪ್ರಾಕ್ಸಿ ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಪ್ರತ್ಯೇಕವಾಗಿ ಎನ್ಕೋಡ್ ಮಾಡಿ.
ಪ್ರವೇಶ ವಿವರಗಳು ಸರಿಯಾಗಿದ್ದರೂ @ ಅಥವಾ # ಇರುವ ಪಾಸ್ವರ್ಡ್ ಕೈಯಾರೆ ರಚಿಸಿದ ಪ್ರಾಕ್ಸಿ URL ಹಾಳುಮಾಡಬಹುದು. ಈ ಅಕ್ಷರಗಳಿಗೆ URL ನಲ್ಲಿ ಈಗಾಗಲೇ ಅರ್ಥವಿದೆ; ಕ್ಲೈಂಟ್ ಪಾಸ್ವರ್ಡ್ನ ಭಾಗವನ್ನು ಹೋಸ್ಟ್ಹೆಸರು ಅಥವಾ ಫ್ರಾಗ್ಮೆಂಟ್ ಎಂದು ಓದಬಹುದು.
ಪ್ರವೇಶ ವಿವರಗಳ ಎರಡು ಕ್ಷೇತ್ರಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಎನ್ಕೋಡ್ ಮಾಡಿ
ಈ ಉದಾಹರಣೆ URL ನ ರಚನಾ ವಿಭಜಕಗಳನ್ನು ಉಳಿಸಿ, ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಮಾತ್ರ ಎನ್ಕೋಡ್ ಮಾಡುತ್ತದೆ:
from urllib.parse import quote
username = "user@team"
password = "p:a/ss#?"
proxy_url = (
"http://"
+ quote(username, safe="")
+ ":"
+ quote(password, safe="")
+ "@203.0.113.10:8080"
)
ನಿಮ್ಮ ನಿಜವಾದ ಎಂಡ್ಪಾಯಿಂಟ್ ಮತ್ತು ಪ್ರವೇಶ ವಿವರಗಳನ್ನು ಬಳಸಿ. ತೋರಿಸಿದ ವಿಳಾಸ ದಾಖಲೆಯ ಉದಾಹರಣೆ. ಖಾಲಿ safe ಆರ್ಗ್ಯುಮೆಂಟ್ ಮುಖ್ಯ: quote ಸಾಮಾನ್ಯವಾಗಿ ಸ್ಲ್ಯಾಶ್ ಅನ್ನು ಎಸ್ಕೇಪ್ ಮಾಡದೆ ಬಿಡುತ್ತದೆ, ಆದರೆ ಈ ಪ್ರವೇಶ ಕ್ಷೇತ್ರದ ಸ್ಲ್ಯಾಶ್ ಎನ್ಕೋಡ್ ಆಗಬೇಕು.
ಇಡೀ ಪ್ರಾಕ್ಸಿ URL ಎನ್ಕೋಡ್ ಮಾಡಬೇಡಿ. ಸ್ಕೀಮ್ ವಿಭಜಕಗಳು ಮತ್ತು ಪ್ರವೇಶ ವಿವರಗಳಿಗೂ ಹೋಸ್ಟ್ಗೂ ನಡುವಿನ @ ಎನ್ಕೋಡ್ ಮಾಡಿದರೆ ಉಳಿಸಬೇಕಾದ ರಚನೆ ಹಾಳಾಗುತ್ತದೆ. ಈಗಾಗಲೇ ಎನ್ಕೋಡ್ ಮಾಡಿದ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಎರಡನೇ ಬಾರಿ ಎನ್ಕೋಡ್ ಮಾಡಬೇಡಿ.
ಫಲಿತಾಂಶವನ್ನು Requests ಜೊತೆ ಬಳಸಿ
import requests
response = requests.get(
"https://example.com/",
proxies={"http": proxy_url, "https": proxy_url},
timeout=(5, 15),
)
response.raise_for_status()
ವಿನಂತಿ ಇನ್ನೂ ವಿಫಲವಾದರೆ ಪ್ರಾಕ್ಸಿ ಲಾಗಿನ್ ತಿರಸ್ಕರಿಸುತ್ತಿದೆಯೇ ಅಥವಾ ಕ್ಲೈಂಟ್ ಮುಂಚೆಯೇ ಪಾರ್ಸಿಂಗ್ ಅಥವಾ ಸಂಪರ್ಕದಲ್ಲಿ ವಿಫಲವಾಯಿತೇ ನೋಡಿ. 407 ದೃಢೀಕರಣ ಸವಾಲು ಮತ್ತು ಅಮಾನ್ಯ URL ಬೇರೆ ವೈಫಲ್ಯಗಳು.
HTTPX ದೃಢೀಕರಣವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇಡಬಹುದು
HTTPX Proxy ಆಬ್ಜೆಕ್ಟ್ ಎಂಡ್ಪಾಯಿಂಟ್ ಮತ್ತು ಪ್ರವೇಶ ವಿವರಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳಾಗಿ ಪಡೆಯಬಹುದು:
import httpx
proxy = httpx.Proxy(
"http://203.0.113.10:8080",
auth=("user@team", "p:a/ss#?"),
)
with httpx.Client(proxy=proxy, trust_env=False, timeout=15) as client:
response = client.get("https://example.com/")
response.raise_for_status()
ಇದರಿಂದ userinfo ಭಾಗವನ್ನು ನೀವೇ ರಚಿಸಬೇಕಾಗುವುದಿಲ್ಲ. ಇದು ಪ್ರವೇಶ ವಿವರಗಳನ್ನು ಪ್ರಾಕ್ಸಿ ಸಂಪರ್ಕದಿಂದ ಸ್ವತಂತ್ರವಾಗಿ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡುವುದಿಲ್ಲ ಅಥವಾ ಎಲ್ಲ ಸೇವೆಗಳೂ ಬೆಂಬಲಿಸುವ ದೃಢೀಕರಣ ವಿಧಾನ ಆಯ್ಕೆಮಾಡುವುದಿಲ್ಲ.
ಉಚಿತ ಪಟ್ಟಿ IP ಮತ್ತು ಪೋರ್ಟ್ ಮಾತ್ರ ಕೊಟ್ಟರೆ ಈ ಉದಾಹರಣೆ ಡೀಫಾಲ್ಟ್ ಪ್ರವೇಶ ವಿವರಗಳನ್ನು ನೀಡುವುದಿಲ್ಲ. ನಿರ್ವಾಹಕ ನಿಜವಾಗಿ ಖಾತೆ ಕೊಟ್ಟಾಗ ಮಾತ್ರ ದೃಢೀಕರಣ ಬಳಸಿ. ಪ್ರವೇಶ ವಿವರಗಳಿರುವ URL ಗಳನ್ನು ಹಂಚಿದ ಲಾಗ್ ಮತ್ತು ಮೂಲ ಫೈಲ್ಗಳಲ್ಲಿ ಇಡಬೇಡಿ.