gpt4 book ai didi

ios - NSURLComponents 中的 URL 查询项为空

转载 作者:行者123 更新时间:2023-11-29 05:10:24 29 4
gpt4 key购买 nike

我正在创建一个 NSURL URL 将包含一些转义字符(日语)

    NSString* currentlocationbarString = @"mbos.help.jp/search?q=専門&pg=1"
NSString *escapedString = [currentlocationbarString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];
NSURL* url = [NSURL URLWithString:escapedString];

//url is mbos.help.jp%2Fsearch%3Fq=%E5%B0%82%E9%96%80&pg=1

当我创建 NSURLComponents 并尝试获取查询项时,它给了我 nil。

NSURLComponents *urlComponents = [NSURLComponents componentsWithURL:url
resolvingAgainstBaseURL:YES];
NSArray *queryItems = urlComponents.queryItems;

//这里是queryItems的问题

如果有人有获取查询项目的解决方案,请提供帮助。提前致谢

最佳答案

问题不在于 Unicode 字符,每当您添加编码时,请使用适合我的情况的正确字符集,我使用以下 setURLHostAllowedCharacterSet 这意味着您的 NSURLComponents 仅提供您的编码主机,要获取正确的queryItems,请像这样使用URLQueryAllowedCharacterSet

NSString* currentlocationbarString = @"mbos.help.jp/search?q=専門&pg=1"
NSString *escapedString = [currentlocationbarString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSURL* url = [NSURL URLWithString:escapedString];

现在你可以获取queryItems了。

NSURLComponents *urlComponents = [NSURLComponents componentsWithURL:url
resolvingAgainstBaseURL:YES];
NSArray *queryItems = urlComponents.queryItems;

关于ios - NSURLComponents 中的 URL 查询项为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59737465/

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