gpt4 book ai didi

ios - 有什么方法可以将参数的 NSDictionary 附加到 NSURLRequest 而不是手动制作字符串?

转载 作者:IT王子 更新时间:2023-10-29 08:20:39 27 4
gpt4 key购买 nike

AFNetworking 允许您将参数的 NSDictionary 添加到请求中,并将它们附加到请求中。所以如果我想用 ?q=8&home=8888 做一个 GET 请求,我只需要做一个像 @{@"q": @"这样的 NSDictionary 8", @"home": @"8888"} 非常简单。

有没有办法用 NSURLSession/NSURLConnection/NSURLRequest 来做到这一点?

我知道我可以使用 NSJSONSerialization 来附加 JSON 数据,但是如果我只想将它们作为 URL 中的 GET 参数怎么办?我应该只添加一个类别吗?

最佳答案

您可以通过使用 NSURLComponents 和 NSURLQueryItems 更新 url 来做到这一点。在下面的示例中,假设 URL 参数已经在 NSMutableURLRequest 上设置。您可以在使用它之前修改它以包含 NSDictionary params 中的每个参数。请注意,每个参数在写入之前都已编码。

NSURLComponents *url = [[NSURLComponents alloc] initWithURL:request.URL resolvingAgainstBaseURL:YES];
NSMutableArray *queryItems = NSMutableArray.new;
[params enumerateKeysAndObjectsUsingBlock:^(NSString *name, NSString *value, BOOL *stop) {
[queryItems addObject:[NSURLQueryItem queryItemWithName:name
value:[value stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet]]];
}];
url.queryItems = queryItems;
request.URL = url.URL;

关于ios - 有什么方法可以将参数的 NSDictionary 附加到 NSURLRequest 而不是手动制作字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21299362/

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