Właściwości proxy CFStream zależą od typu strumienia
Wybierz właściwość HTTP lub SOCKS zgodnie z obsługą protokołu strumienia w istniejącej aplikacji CFStream.
W aplikacji utrzymującej kod CFStream wybierz właściwość proxy zgodnie z rodzajem konfigurowanego strumienia. Strumień żądania HTTP ma obsługę protokołu, której zwykły strumień gniazda nie uzyskuje wyłącznie ze swojego słownika właściwości.
| Budowane połączenie | Udokumentowana konfiguracja |
|---|---|
| HTTP CFStream przez proxy HTTP | kCFStreamPropertyHTTPProxy |
| CFStream przez proxy SOCKS | kCFStreamPropertySOCKSProxy |
Apple opisuje właściwość HTTP konkretnie jako konfigurację HTTP CFStream. Taki strumień można utworzyć z żądania CFHTTPMessage za pomocą CFReadStreamCreateForHTTPRequest. Otwarcie tego strumienia serializuje i wysyła żądanie HTTP.
Właściwość SOCKS przyjmuje CFDictionary zawierający co najmniej klucze hosta i portu proxy SOCKS. To odpowiednia publiczna właściwość do obsługi SOCKS w strumieniu CFStream. Do dozwolonego publicznego testu TCP bez danych logowania proxy lista proxy SOCKS oferuje kandydackie wartości hosta i portu dla tego słownika. Dopasuj do protokołu obsługiwanego przez strumień i zweryfikuj dostęp do rzeczywistego miejsca docelowego i portu.
Zastosuj wybraną właściwość przed otwarciem strumienia i sprawdź wynik logiczny wywołania ustawiającego właściwość. Odrzucona właściwość może oznaczać, że strumień lub wartość nie obsługują żądanej konfiguracji.
W przypadku dowolnego ruchu TCP przez proxy HTTP użyj łącznika, który wykonuje wymagane negocjacje CONNECT. Ta negocjacja to praca protokołu; utworzenie surowego strumienia tylko do adresu proxy jej nie wykonało.