ಒಂದು ಎಂಡ್‌ಪಾಯಿಂಟ್ ಕ್ಲೈಂಟ್ ವಿನಂತಿಗಳನ್ನು ನಿಭಾಯಿಸಬೇಕಾದರೆ proxy= ಬಳಸಿ. ಗಮ್ಯಸ್ಥಾನ ಸ್ಕೀಮ್‌ಗಳಿಗೆ ಬೇರೆ ಮಾರ್ಗಗಳು ಬೇಕಾದರೆ mounts= ಬಳಸಿ. ಉದಾಹರಣೆಗಳು ಈ HTTPX ಇಂಟರ್‌ಫೇಸ್‌ಗಳನ್ನು ಬಳಸುತ್ತವೆ; ಹಳೆಯ proxies= API ಇರುವ ಯೋಜನೆಗೆ ಅದರ ಆವೃತ್ತಿಯ ಸಂರಚನೆ ಬೇಕು.

ಒಂದು ಎಂಡ್‌ಪಾಯಿಂಟ್

import httpx

timeout = httpx.Timeout(15.0, connect=5.0)

with httpx.Client(
    proxy="http://127.0.0.1:8080",
    trust_env=False,
    timeout=timeout,
) as client:
    response = client.get("https://example.com/")
    response.raise_for_status()
    print(response.status_code)

ಸ್ಥಳೀಯ ಲಿಸನರ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿರುವ HTTP ಪ್ರಾಕ್ಸಿಯಿಂದ ಬದಲಿಸಿ. HTTP ಪ್ರಾಕ್ಸಿಗಳ ಪಟ್ಟಿಯ ಆಯ್ಕೆಯನ್ನೂ ನಿಮ್ಮ ಗಮ್ಯಸ್ಥಾನದೊಂದಿಗೆ ಪರೀಕ್ಷಿಸಬೇಕು. HTTPS ಗುರಿ CONNECT ಮೂಲಕ ಈ http:// ಎಂಡ್‌ಪಾಯಿಂಟ್ ಬಳಸಬಹುದು. ಸ್ಕೀಮ್ https:// ಮಾಡಿದರೆ ಪ್ರಾಕ್ಸಿಗೆ ನೇರ TLS ಕೇಳುತ್ತದೆ; ಲಿಸನರ್ ಮತ್ತು ಕ್ಲೈಂಟ್ ಎರಡೂ ಬೆಂಬಲಿಸಬೇಕು.

ಗಮ್ಯಸ್ಥಾನ ಸ್ಕೀಮ್‌ಗೆ ತಕ್ಕ ಬೇರೆ ಮಾರ್ಗಗಳು

import httpx

mounts = {
    "http://": httpx.HTTPTransport(
        proxy="http://127.0.0.1:8080",
        trust_env=False,
    ),
    "https://": httpx.HTTPTransport(
        proxy="http://127.0.0.1:8081",
        trust_env=False,
    ),
}

with httpx.Client(
    mounts=mounts,
    trust_env=False,
    timeout=httpx.Timeout(15.0, connect=5.0),
) as client:
    response = client.get("https://example.com/")
    response.raise_for_status()
    print(response.status_code)

Mount ಕೀಗಳು ಗುರಿ URLಗಳಿಗೆ ಹೊಂದುತ್ತವೆ. ಇಲ್ಲಿ HTTP ಗುರಿಗಳು ಪೋರ್ಟ್ 8080, HTTPS ಗುರಿಗಳು ಪೋರ್ಟ್ 8081 ಆಯ್ಕೆಮಾಡುತ್ತವೆ. ಪ್ರಾಕ್ಸಿ ಮೌಲ್ಯ ಲಿಸನರ್‌ನ ಸ್ವಂತ ಪ್ರೋಟೋಕಾಲ್ ಹೇಳುತ್ತದೆ; ಆದ್ದರಿಂದ HTTPS mountನಲ್ಲಿ http:// ಪ್ರಾಕ್ಸಿ ಇರುವುದು ಸರಿಯಾಗಿದೆ. ನಿಮ್ಮ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ನೀಡಿ ಎರಡು ಗಮ್ಯಸ್ಥಾನ ಸ್ಕೀಮ್‌ಗಳನ್ನೂ ಪರೀಕ್ಷಿಸಿ.

ಎರಡೂ ವಿಧಾನಗಳು ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ಮತ್ತು ನೀಡಿರುವ transportಗಳಲ್ಲಿ trust_env=False ಹೊಂದಿಸುತ್ತವೆ. ಇಲ್ಲದಿದ್ದರೆ HTTPX ಪ್ರಾಕ್ಸಿ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರದ ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಓದುತ್ತದೆ. ನಿಯೋಜನೆ ಅವನ್ನು ಅವಲಂಬಿಸಿದರೆ ಪತ್ತೆಹಚ್ಚುವಿಕೆಯನ್ನು ಆನ್ ಇಡಿ ಅಥವಾ ಬೇಕಾದ ಮಾರ್ಗ, ವಿಶ್ವಾಸವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸಿ. ಖಾಸಗಿ ವಿಶ್ವಾಸಕ್ಕೆ ನಿಮ್ಮ HTTPX ಆವೃತ್ತಿ ಬೆಂಬಲಿಸುವ TLS context ಮತ್ತು CA ಸಂರಚನೆ ಬಳಸಿ; ಗಮ್ಯಸ್ಥಾನ ಪರಿಶೀಲನೆ ಆನ್ ಇಡಿ. HTTPS ಪ್ರಾಕ್ಸಿಯ ವಿಶ್ವಾಸ ಗಮ್ಯಸ್ಥಾನದ ವಿಶ್ವಾಸದಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿರಬಹುದು.

httpx.Timeout(15.0, connect=5.0) ಸಂಪರ್ಕ ಸಮಯ ಮಿತಿಯನ್ನು ಬದಲಿಸಿ ಇತರ ಹೊಂದಿಸಿದ ಭಾಗಗಳಿಗೆ ಡಿಫಾಲ್ಟ್ ಮೌಲ್ಯ ನೀಡುತ್ತದೆ. ಓದುವಿಕೆ, ಬರೆಯುವಿಕೆ ಮತ್ತು pool ಕಾಯುವಿಕೆಗೆ ಪ್ರತ್ಯೇಕ ಮಿತಿಗಳಿವೆ; ಹದಿನೈದು ಸೆಕೆಂಡ್ ಒಟ್ಟು ಕಳೆದ ಸಮಯದ ಅಂತಿಮ ಮಿತಿ ಅಲ್ಲ. Pool timeout ಬೇರೆ ಕೆಲಸ ಲಭ್ಯ ಸಂಪರ್ಕಗಳನ್ನು ಹಿಡಿದಿದೆ ಎಂದೂ ಆಗಬಹುದು. ಪ್ರಾಕ್ಸಿ ತಲುಪಲಾಗದು ಎನ್ನುವ ಸಾಕ್ಷ್ಯವಾಗಿ ನೋಡುವ ಮೊದಲು ಕ್ಲೈಂಟ್ ಮತ್ತು streaming ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಸರಿಯಾಗಿ ಮುಚ್ಚಿ.

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