gpt4 book ai didi

iphone - 如何与 HTTP_PROXY 服务器建立 NSStream 套接字连接(服务器也需要身份验证)?

转载 作者:行者123 更新时间:2023-12-01 16:54:31 25 4
gpt4 key购买 nike

我知道如何使用 NSStream 创建输入/输出流套接字类(class)。我也能够建立 TCP 连接和 SSL 连接。但我不知道如何建立到 HTTP_PROXY 的流套接字连接。服务器。服务器还需要发送用户名/密码。

这可能使用 NSStream蜜蜂?

最佳答案

对于像我这样被卡住的人。这就是我解决它的方法。

  • 使用 CFReadStreamCreateForHTTPRequest 而不是
    CFStreamCreatePairWithSocketToHost。
  • 使用正确的代理 key - kCFStreamPropertyHTTPProxyHostkCFStreamPropertyHTTPProxyPort .
       CFHTTPMessageRef    request;

    request = CFHTTPMessageCreateRequest(
    NULL,
    CFSTR("GET"),
    (__bridge CFURLRef) [NSURL URLWithString:@"http://www.apple.com/"],
    kCFHTTPVersion1_1
    );
    assert(request != NULL);

    self.inputStream = CFBridgingRelease(
    CFReadStreamCreateForHTTPRequest(NULL, request)
    );

    CFRelease(request);

    if (YES) {
    BOOL success;
    NSDictionary * proxyDict;

    proxyDict = @{
    (__bridge NSString *) kCFStreamPropertyHTTPProxyHost: @"proxy.example.com",
    (__bridge NSString *) kCFStreamPropertyHTTPProxyPort: @12345,
    };

    success = [self.inputStream setProperty:proxyDict
    forKey:(__bridge NSString *) kCFStreamPropertyHTTPProxy
    ];
    assert(success);
    }

    [self.inputStream setDelegate:self];
    [self.inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop]
    forMode:NSDefaultRunLoopMode
    ];
    [self.inputStream open];
  • 关于iphone - 如何与 HTTP_PROXY 服务器建立 NSStream 套接字连接(服务器也需要身份验证)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12955082/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com