PRAW chấp nhận một phiên Requests hiểu SOCKS
Cung cấp cho requestor của PRAW một phiên Requests đã cấu hình, dùng socks5h khi máy chủ SOCKS phải phân giải tên đích của Reddit.
Cấp cho PRAW 8.0.3 một phiên Requests hiểu SOCKS thông qua 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},
)
Dùng thông tin đăng nhập Reddit và user agent của ứng dụng, sau đó thực hiện các lệnh gọi API qua phiên bản reddit này. Quản lý requestor và phiên của nó thông qua quy trình dọn dẹp thông thường của ứng dụng.
Requests cần hỗ trợ SOCKS của nó. socks5h giao việc phân giải tên đích cho proxy; socks5 phân giải cục bộ.
Một điểm cuối công khai từ danh sách proxy SOCKS5 có thể cung cấp địa chỉ trong bản đồ này. Trước tiên hãy tạo Session() và cập nhật thuộc tính proxies như được hiển thị. Hàm khởi tạo của nó không có từ khóa proxies.
Phiên được cung cấp giữ lại tích hợp môi trường của Requests, nên các thiết lập proxy và bỏ qua được kế thừa có thể ảnh hưởng đến việc chọn tuyến. Đối với tuyến hoàn toàn do ứng dụng sở hữu, hãy xem lại trust_env. Việc vô hiệu hóa nó cũng đòi hỏi phải cung cấp mọi đầu vào tin cậy và xác thực trước đây đến từ môi trường đó.