gpt4 book ai didi

ios - Postman 给出成功响应,而通过代码调用相同的 API 时抛出错误

转载 作者:行者123 更新时间:2023-11-28 23:30:32 24 4
gpt4 key购买 nike

enter image description here

当我在代码中调用 POST API 时,它会抛出错误,同时通过 postman 给出成功响应。我使用相同的方法调用其他服务,它们工作得很好。问题出在这个特定的 API 上。以下是我用于调用 API 的代码:

-(void)createNSUrlSessionLogin:(NSURL*)URL postDict:(NSDictionary*)dict successBlock:(completionBlock)completionBlock
failureBlock:(failureBlock)failure
{
NSError *error;
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:nil delegateQueue:nil];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPMethod:@"POST"];
NSData *postData = [NSJSONSerialization dataWithJSONObject:dict options:0 error:&error];
[request setHTTPBody:postData];
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if ([data length] > 0 && error == nil)
{
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@"result json: %@", jsonArray);
if (!jsonArray) {
failure(NO,nil);
}else
{
completionBlock(YES,jsonArray);
}

}

else if ([data length] == 0 && error == nil){
failure(NO,nil);
}

else if (error != nil){
NSLog(@"Error is %@",[error description]);
failure(NO,nil);
}

}];

[postDataTask resume];
}

感谢任何帮助。

最佳答案

对不起,我不能写评论。但我看到,您通过 postman 执行内容类型:url 编码请求,并通过代码执行 application-json。如果 API 只接受 url 编码的请求,这就是您的答案。

关于ios - Postman 给出成功响应,而通过代码调用相同的 API 时抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56704856/

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