gpt4 book ai didi

cocoa-touch - -[NSURLRequest sendSynchronousRequest :returningResponse:error:] getting back HTTP headers

转载 作者:行者123 更新时间:2023-12-03 00:25:36 28 4
gpt4 key购买 nike

我正在尝试从 iPhone 上的同步 HTTP 请求中提取 HTTP header 和 HTTP 响应代码。我通常在使用异步请求时不会遇到任何问题,尽管这里有点麻烦。 HTTP 响应 header 为空,HTTP 状态代码为 0。Web 服务器配置正确,我可以在异步请求中检索所需的详细信息。这是我复制到命令行程序的代码:

问题#1:[httpResponse allHeaderFields] 返回 nil。
问题 #2:[httpResponse statusCode] 返回 0。

我的理解是否错误,如果出现错误,我现在看到的是:Error Domain=NSURLErrorDomain Code=-1012 UserInfo=0x14b100“操作无法完成。(NSURLErrorDomain错误-1012。)”,我无法访问 http 响应 header /状态代码?

#import <Foundation/Foundation.h>

int main (int argc, char *argv[])
{

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString *urlStr = @"http://tmp/myscript.php";
NSString *postBody = @"foo=bar";
NSMutableURLRequest *request;
NSData *postData = [postBody dataUsingEncoding:NSASCIIStringEncoding];
NSError *error;
NSURLResponse *response;
NSHTTPURLResponse *httpResponse;
NSData *dataReply;
id stringReply;

request = [NSMutableURLRequest requestWithURL: [NSURL URLWithString:urlStr]];

[request setHTTPMethod: @"POST"];
[request setHTTPBody:postData];
[request setValue:@"text/xml" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

dataReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
stringReply = (NSString *)[[NSString alloc] initWithData:dataReply encoding:NSUTF8StringEncoding];
// Some debug code, etc.
NSLog(@"reply from server: %@", stringReply);
httpResponse = (NSHTTPURLResponse *)response;
int statusCode = [httpResponse statusCode];
NSLog(@"HTTP Response Headers %@", [httpResponse allHeaderFields]);
NSLog(@"HTTP Status code: %d", statusCode);
// End debug.

[[NSRunLoop currentRunLoop] run];
[pool release];
return 0;
}

最佳答案

您收到的错误代码是 NSURLErrorUserCancelledAuthentication,记录在 Foundation Constants Reference 中。您可能正在尝试加载受密码保护的页面,在这种情况下,您可能必须向 URL 添加用户名和密码。

关于cocoa-touch - -[NSURLRequest sendSynchronousRequest :returningResponse:error:] getting back HTTP headers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/530590/

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