我需要用Basic Authentication调用初始值GET HTTP request.这将是第一次将请求发送到服务器,我已经有了username & password,因此不需要来自服务器的授权质询.

第一个问题:

  1. NSURLConnection必须设置为同步才能执行基本身份验证吗?根据这个post上的答案,如果您 Select 异步路由,似乎不能进行基本身份验证.

  2. 有人知道在GET request上演示基本身份验证而不需要质询响应的示例代码吗?Apple's documentation显示了一个示例,但仅在服务器向客户端发出质询请求之后.

我是SDK的网络部分的新手,我不确定应该使用其他哪些类来使其正常工作.(我看到NSURLCredential类,但似乎只有在客户端向服务器请求授权资源之后才与NSURLAuthenticationChallenge一起使用).

推荐答案

我使用异步连接MGTwitterEngine,它在NSMutableURLRequest(theRequest)中设置授权,如下所示:

NSString *authStr = [NSString stringWithFormat:@"%@:%@", [self username], [self password]];
NSData *authData = [authStr dataUsingEncoding:NSASCIIStringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64EncodingWithLineLength:80]];
[theRequest setValue:authValue forHTTPHeaderField:@"Authorization"];

我不相信这种方法需要通过挑战循环,但我可能错了

Ios相关问答推荐

iOS SwiftUI需要不带箭头显示弹出窗口""

UIBezierPath包含:方法不检测到厚度大于1像素的线上的touch

滚动时突出显示工具栏项目

SWIFT根据地球坐标修改 node 旋转

删除领域中的cartItem时出现问题

RxSwift:如何使用另外两个可观测对象(其中一个依赖于另一个)创建可观测对象?

iOS应用程序冻结在UICollectionView代码,但我没有';没有任何UICollectionViews

Swift - 缺少函数参数在编译期间不会失败,甚至会导致不同的数据类型?

为什么applicationState发布者只发布一次?

如何在 SwiftUI 中通过通用 @ObservedObject 进行切换?

过渡动画在 iOS16 中不起作用,但在 iOS15 中起作用

具有多个目标的应用程序的动态内容

从远程通知启动时,iOS 应用程序加载错误

iOS 10 / Xcode 8 设备上的 NSLog 似乎被截断了?为什么?

如何像在 Facebook 应用程序中一样以编程方式打开设置?

在 iOS 上存储身份验证令牌 - NSUserDefaults 与 keys 串?

以编程方式创建按钮并设置背景图像

如何确定 WKWebView 的内容大小?

使用 swift 3 在 UIView 上添加阴影

UIGestureRecognizer 阻止子视图处理touch 事件