gpt4 book ai didi

ios - 为什么 AFNetworking 在将 '|' 管道符号放入 url 时得到不受支持的 url

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

我使用 AFNetworking 有一段时间了,今天遇到了一个奇怪的问题。我正在使用 AFNetworking 和 Google Places API 发出 GET 请求

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=21.283974,-157.836222&radius=1600&types=food|bar|cafe&key=myownapikeyhere

附近的地方搜索 api 使用 type 限制来限制您可以从 api 获得的结果。 see document

你这样做的方法是使用参数types=type1|type2|type3|etc,type1、type2、type3 是你想要用url 获取的地方的类型。当我将 url 粘贴到浏览器并请求它时,我设法获得了结果。但每当我将它与 AFNetworking 一起使用时,'|' 符号似乎会破坏它。它会抛出一个 unsupported url 错误。

这个问题有什么原因吗?任何建议都会有所帮助。

谢谢!

最佳答案

您是自己构建此 URL 吗?如果您使用 AFNetworking GET 请求的参数,我相信它会正确转义。但是,如果您自己构建 URL,则不会让 AFNetworking 进行必要的百分比转义。

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

NSDictionary *params = @{@"location" : @"21.283974,-157.836222",
@"radius" : @1600,
@"types" : @"food|bar|cafe",
@"key" : @"myownapikeyhere"};

[manager GET:@"https://maps.googleapis.com/maps/api/place/nearbysearch/json" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"responseObject = %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error = %@", error);
}];

关于ios - 为什么 AFNetworking 在将 '|' 管道符号放入 url 时得到不受支持的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28100563/

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