gpt4 book ai didi

ios - AFNetworking:接收“数字”而不是GET请求文本

转载 作者:行者123 更新时间:2023-12-01 18:56:59 25 4
gpt4 key购买 nike

我正在尝试使用AFHTTPRequestOperationManager和AFHTTPResponseSerializer设置GET请求。但是,没有收到适当的GET Request响应(像我使用Charles调试代理得到的响应),而是收到了很多随机数。我尝试使用该主题(AFNetworking - JSON: Receiving "numbers" instead of JSON)的解决方案,但由于字典为空,因此未成功。

GET /scripts/wsisa.dll/WService=wsedumeritasil/seplog01 HTTP/1.1
Host: skyward.iscorp.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Proxy-Connection: keep-alive
Cookie: BIGipServerSkywardPool18-Meritas=4200349962.47873.0000; BIGipServerSkywardWebspeed=2388410634.47873.0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: keep-alive

这是我的代码:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
AFHTTPResponseSerializer *serializer = [AFHTTPResponseSerializer serializer];
serializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
manager.responseSerializer = serializer;
manager.requestSerializer = [AFJSONRequestSerializer serializer] ;
NSDictionary *dict = @{
@"Host" : @"skyward.iscorp.com",
};
[manager GET:@"https://skyward.iscorp.com/scripts/wsisa.dll/WService=wsedumeritasil/seplog01"
parameters:dict
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"%@", responseObject);
NSError *error;
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:&error];
NSLog(@"Dictionary: %@", [jsonDict description]);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error");
}];

这是我的输出:
<3c21444f 43545950 45204854 4d4c2050 55424c49 4320222d 2f2f5733 432f2f44 54442048 ...
Dictionary: (null)

最佳答案

十六进制数字的长序列只是NSData的标准十六进制表示形式。如果将NSData的十六进制表示形式转换为字符串,则可以看到以下内容:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD H

那似乎是HTML页面的开始。

如果您不是登录 responseObject而是登录 [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding],那么您将看到意外检索的HTML页面的全部内容。

您正在使用 AFHTTPResponseSerializer(我猜您这样做是因为 AFJSONResponseSerializer无法正常工作?)的事实似乎支持了这一假设。通常,如果您收到JSON响应,则坚持使用 AFJSONResponseSerializer(它将为您完成 JSONObjectWithData)。

您应与网络服务提供商确认API,并确保已执行必要的身份验证和/或正确使用了API。显然,请求的格式不正确或URL不正确,或者未进行必要的身份验证。

关于ios - AFNetworking:接收“数字”而不是GET请求文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26173435/

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