Với một yêu cầu HTTP thông thường không dùng PHP cURL, hãy truyền ngữ cảnh proxy cho trình bao bọc luồng HTTP:

$context = stream_context_create([
    'http' => [
        'proxy' => 'tcp://203.0.113.10:8080',
        'request_fulluri' => true,
        'timeout' => 10,
    ],
]);
$body = file_get_contents('http://example.com/', false, $context);

Thay điểm cuối tài liệu bằng proxy HTTP của bạn hoặc một ứng viên từ danh sách proxy HTTP. Giao diện ngữ cảnh HTTP mong đợi một địa chỉ TCP cho proxy. request_fulluri=true đặt toàn bộ URI đích vào dòng yêu cầu, như nhiều proxy chuyển tiếp yêu cầu. Thời gian chờ giới hạn thao tác luồng theo quy tắc của trình bao bọc đó.

Kiểm tra giá trị trả về và cảnh báo trước khi phân tích nội dung; đọc thất bại và phản hồi thành công rỗng cần cách xử lý khác nhau. Bắt đầu chẩn đoán với một đích HTTP và yêu cầu có giới hạn này. HTTPS thêm đường hầm và hành vi TLS phải được kiểm tra cho phiên bản trình bao bọc/PHP thực tế; ví dụ này không thiết lập các khả năng đó.

Truyền ngữ cảnh tại lần gọi này giữ tuyến đường hiển thị và tránh thay đổi các lần đọc URL không liên quan. Ngữ cảnh mặc định dùng chung chỉ phù hợp khi ứng dụng cố ý muốn chính sách đó; thư viện nên tính đến phạm vi rộng hơn của nó.

Điều này cấu hình luồng PHP, không phải một tay cầm cURL được tạo riêng, trình duyệt hay tiến trình khác. Xác định phương thức vận chuyển HTTP thực tế của gói trước khi mong nó dùng ngữ cảnh này.

Bài viết liên quan