PRAW SOCKS-ਜਾਣੂ Requests ਸੈਸ਼ਨ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ
PRAW ਦੇ requestor ਨੂੰ ਸੰਰਚਿਤ Requests ਸੈਸ਼ਨ ਦਿਓ, ਅਤੇ ਜਦੋਂ SOCKS ਸਰਵਰ ਨੂੰ Reddit ਦੇ ਮੰਜ਼ਿਲ ਨਾਮ ਹੱਲ ਕਰਨੇ ਹੋਣ ਤਾਂ socks5h ਵਰਤੋ।
requestor_kwargs ਰਾਹੀਂ PRAW 8.0.3 ਨੂੰ SOCKS-ਜਾਣੂ Requests ਸੈਸ਼ਨ ਦਿਓ:
import praw
import requests
session = requests.Session()
session.proxies.update({
'http': 'socks5h://proxy.example:1080',
'https': 'socks5h://proxy.example:1080',
})
reddit = praw.Reddit(
client_id=client_id,
client_secret=client_secret,
user_agent=user_agent,
requestor_kwargs={'session': session},
)
ਐਪ ਦੇ Reddit ਪ੍ਰਮਾਣ ਪੱਤਰ ਅਤੇ user agent ਵਰਤੋ, ਫਿਰ ਇਸ reddit ਇੰਸਟੈਂਸ ਰਾਹੀਂ API ਕਾਲ ਕਰੋ। ਇਸ ਦੇ requestor ਅਤੇ ਸੈਸ਼ਨ ਨੂੰ ਐਪ ਦੀ ਆਮ ਸਫ਼ਾਈ ਰਾਹੀਂ ਸੰਭਾਲੋ।
Requests ਨੂੰ ਆਪਣਾ SOCKS ਸਮਰਥਨ ਚਾਹੀਦਾ ਹੈ। socks5h ਮੰਜ਼ਿਲ ਨਾਮ ਦਾ ਹੱਲ ਪ੍ਰੌਕਸੀ ਨੂੰ ਸੌਂਪਦਾ ਹੈ; socks5 ਇਸ ਨੂੰ ਸਥਾਨਕ ਤੌਰ ’ਤੇ ਹੱਲ ਕਰਦਾ ਹੈ।
SOCKS5 ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਤੋਂ ਕੋਈ ਜਨਤਕ ਐਂਡਪੌਇੰਟ ਇਸ ਨਕਸ਼ੇ ਵਿੱਚ ਪਤਾ ਦੇ ਸਕਦਾ ਹੈ। ਪਹਿਲਾਂ Session() ਬਣਾਓ ਅਤੇ ਦਿਖਾਏ ਅਨੁਸਾਰ ਇਸ ਦੀ proxies ਵਿਸ਼ੇਸ਼ਤਾ ਅੱਪਡੇਟ ਕਰੋ। ਇਸ ਦੇ ਕੰਸਟ੍ਰਕਟਰ ਵਿੱਚ proxies ਕੀਵਰਡ ਨਹੀਂ ਹੈ।
ਦਿੱਤਾ ਸੈਸ਼ਨ Requests ਦਾ ਵਾਤਾਵਰਨ ਏਕੀਕਰਨ ਬਣਾਈ ਰੱਖਦਾ ਹੈ, ਇਸ ਲਈ ਵਿਰਾਸਤੀ ਪ੍ਰੌਕਸੀ ਅਤੇ ਬਾਈਪਾਸ ਸੈਟਿੰਗਾਂ ਰਸਤਾ ਚੋਣ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਪੂਰੀ ਤਰ੍ਹਾਂ ਐਪ-ਮਾਲਕੀ ਵਾਲੇ ਰਸਤੇ ਲਈ trust_env ਦੀ ਸਮੀਖਿਆ ਕਰੋ। ਇਸ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਪਹਿਲਾਂ ਉਸ ਵਾਤਾਵਰਨ ਤੋਂ ਆਏ ਭਰੋਸੇ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਇਨਪੁਟ ਵੀ ਦੇਣੇ ਪੈਣਗੇ।