gpt4 book ai didi

iphone - 如何检查请求地址和响应地址是否相同

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:45:53 24 4
gpt4 key购买 nike

用户使用互联网连接,他被重定向到互联网供应商登录页面。

在他登录之前运行请求将为您提供来自提供商的 html 数据和来自您最初请求数据的地址的数据。

有没有办法检查您请求数据的数据地址是否与您从中获得响应的地址相同?

有没有办法获取响应URL?

最佳答案

NSURLRequestNSURLResponse 都有一个 URL 属性,但是使用 -isEqual: may not give you the desired result 比较它们。下面是 NSURL 上的一个类别,它会有所帮助:

@interface NSURL (Equivalence)
- (BOOL)isEquivalent:(NSURL *)aURL;
@end

@implementation NSURL (Equivalence)
- (BOOL)isEquivalent:(NSURL *)aURL
{
if ([self isEqual:aURL]) return YES;
if ([[self scheme] caseInsensitiveCompare:[aURL scheme]] != NSOrderedSame) return NO;
if ([[self host] caseInsensitiveCompare:[aURL host]] != NSOrderedSame) return NO;
if ([[self path] compare:[aURL path]] != NSOrderedSame) return NO;
if ([[self port] compare:[aURL port]] != NSOrderedSame) return NO;
if ([[self query] compare:[aURL query]] != NSOrderedSame) return NO;
return YES;
}
@end

导入该类别,您可以使用 AFNetworking 执行类似以下操作:

[self getPath:@"somePath" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
if ([operation.request.URL isEquivalent:operation.response.URL]) {
// they match
} else {
// there was a redirect
}
} failure:nil];

编辑:我早就将 NSURL+Equivalence 合并到我的标准工具箱中,但功劳属于 danhthis excellent SO answer

关于iphone - 如何检查请求地址和响应地址是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14215881/

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