มอบ Requests session ที่รู้จัก SOCKS ให้ PRAW 8.0.3 ผ่าน requestor_kwargs:

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 ของแอป จากนั้นเรียก API ผ่านอินสแตนซ์ reddit นี้ จัดการ requestor และ session ของมันผ่านการล้างข้อมูลตามปกติของแอป

Requests ต้องมีการรองรับ SOCKS ของตัวเอง socks5h จะมอบการแปลงชื่อปลายทางให้พร็อกซี ส่วน socks5 จะแปลงในเครื่อง

ปลายทางสาธารณะจากรายการพร็อกซี SOCKS5สามารถให้ที่อยู่ในแมปนี้ได้ สร้าง Session() ก่อนแล้วอัปเดตแอตทริบิวต์ proxies ตามที่แสดง คอนสตรักเตอร์ไม่มีคีย์เวิร์ด proxies

session ที่ให้ไปยังคงการผสานรวมสภาพแวดล้อมของ Requestsไว้ ดังนั้นการตั้งค่าพร็อกซีและการข้ามที่สืบทอดมาอาจส่งผลต่อการเลือกเส้นทาง สำหรับเส้นทางที่เป็นของแอปทั้งหมด ให้ตรวจสอบ trust_env การปิดใช้งานยังต้องระบุข้อมูลความเชื่อถือและการรับรองความถูกต้องใด ๆ ที่เคยมาจากสภาพแวดล้อมนั้นด้วย

บทความที่เกี่ยวข้อง