У програмі, що підтримує код CFStream, вибирайте властивість проксі відповідно до типу потоку, який налаштовується. Потік HTTP-запиту має обробку протоколу, якої звичайний сокетний потік не отримує лише зі свого словника властивостей.

З'єднання, яке будуєтьсяДокументована конфігурація
HTTP CFStream через проксі HTTPkCFStreamPropertyHTTPProxy
CFStream через проксі SOCKSkCFStreamPropertySOCKSProxy

Apple описує властивість HTTP саме як налаштування HTTP CFStream. Такий потік можна створити із запиту CFHTTPMessage за допомогою CFReadStreamCreateForHTTPRequest. Відкриття цього потоку серіалізує та надсилає HTTP-запит.

Властивість SOCKS приймає CFDictionary, що містить щонайменше ключі хоста й порту проксі SOCKS. Це відповідна публічна властивість для обробки SOCKS на CFStream. Для дозволеної публічної перевірки TCP без облікових даних проксі список проксі SOCKS пропонує кандидатні значення хоста й порту для цього словника. Узгодьте з протоколом, який підтримує потік, і перевірте доступ до фактичного призначення та порту.

Застосуйте вибрану властивість до відкриття потоку і перевірте логічний результат виклику встановлення властивості. Відхилена властивість може означати, що потік або значення не підтримують запитану конфігурацію.

Для довільного трафіку TCP через проксі HTTP використовуйте з'єднувач, який виконує потрібне узгодження CONNECT. Це узгодження — робота протоколу; створення сирого потоку лише до адреси проксі його не виконало.

Схожі статті