PRAW SOCKS ni taniydigan Requests sessiyasini qabul qiladi
PRAW requestoriga sozlangan Requests sessiyasini bering, SOCKS serveri Reddit manzil nomlarini hal qilishi kerak bo‘lganda socks5h dan foydalaning.
PRAW 8.0.3 ga requestor_kwargs orqali SOCKS ni taniydigan Requests sessiyasini bering:
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},
)
Ilovaning Reddit hisob ma’lumotlari va user agent dan foydalaning, so‘ngra shu reddit nusxasi orqali API chaqiruvlarini amalga oshiring. Uning requestor va sessiyasini ilovaning odatiy tozalashi orqali boshqaring.
Requests o‘zining SOCKS qo‘llab-quvvatlashini talab qiladi. socks5h manzil nomini hal qilishni proksiga topshiradi; socks5 uni mahalliy hal qiladi.
SOCKS5 proksi ro‘yxatidan ommaviy so‘nggi nuqta ushbu xaritadagi manzilni taqdim etishi mumkin. Avval Session() yarating va ko‘rsatilgandek uning proxies atributini yangilang. Uning konstruktorida proxies kalit so‘zi yo‘q.
Taqdim etilgan sessiya Requests ning muhit bilan integratsiyasini saqlaydi, shuning uchun meros qolgan proksi va chetlab o‘tish sozlamalari marshrut tanloviga ta’sir qilishi mumkin. To‘liq ilovaga tegishli marshrut uchun trust_env ni ko‘rib chiqing. Uni o‘chirish avval o‘sha muhitdan kelgan har qanday ishonch va autentifikatsiya kiritmalarini ham taqdim etishni talab qiladi.