В приложение, което поддържа код с CFStream, изберете прокси свойството според вида на конфигурирания поток. Потокът за HTTP заявка има обработка на протокола, която обикновен сокет поток не получава само от своя речник със свойства.

Връзка, която се изграждаДокументирана конфигурация
HTTP CFStream през HTTP проксиkCFStreamPropertyHTTPProxy
CFStream през SOCKS проксиkCFStreamPropertySOCKSProxy

Apple описва свойството HTTP конкретно като конфигуриране на HTTP CFStream. Такъв поток може да се създаде от заявка CFHTTPMessage с CFReadStreamCreateForHTTPRequest. Отварянето на този поток сериализира и изпраща HTTP заявката.

Свойството SOCKS приема CFDictionary, съдържащ поне ключовете за хост и порт на SOCKS прокси. Това е съответното публично свойство за работа със SOCKS върху CFStream. За разрешен публичен TCP тест без прокси идентификационни данни списъкът със SOCKS прокси предлага кандидат стойности за хост и порт за този речник. Съгласувайте поддържания от потока протокол и проверете достъпа до действителната дестинация и порт.

Приложете избраното свойство, преди да отворите потока, и проверете булевия резултат от извикването за задаване на свойството. Отхвърлено свойство може да показва, че потокът или стойността не поддържат заявената конфигурация.

За произволен TCP трафик през HTTP прокси използвайте конектор, който извършва необходимото CONNECT договаряне. Това договаряне е протоколна работа; създаването на суров поток само към адреса на прокси не го извършва.

Подобни статии