iphone - HTTP 状态代码 = 0 (iPhone)( objective-c )

标签 iphone objective-c http-status-codes

我想询问有关iPhone应用程序 objective-c 的问题。

我编写了一个程序来存储 cookie 并传递到另一个 URL 来检索 cookie。 但是,我发现其中一个返回状态码是0。html的内容是空的。

有人可以帮我吗? 以下是我的代码。

// create a new mutable url
 NSMutableURLRequest *request_get2 = [[[NSMutableURLRequest alloc] init] autorelease];
    [request_get2 setURL:[NSURL URLWithString:@"http://www.example.com"]];  
 [request_get2 setHTTPMethod:@"GET"];
 [request_get2 setValue:@"text/html; charset=UTF-8" forHTTPHeaderField:@"Content-Type"];
 [request_get2 setValue:@"http://www.example.com" forHTTPHeaderField:@"Referer"];
 [request_get2 setHTTPShouldHandleCookies:YES];
        // cookiesString is a string, the format is "cookieName=cookieValue;"
 [request_get2 setValue: (NSString *) cookiesString forHTTPHeaderField:@"Cookie"];

 // doGet - response
 NSHTTPURLResponse *response_get2 = nil;
 NSError *error_get2 = nil;
 NSData *responseData_get2 = [NSURLConnection sendSynchronousRequest:request_get2 returningResponse:&response_get2 error:&error_get2];
 NSString *data_get2 = [[NSString alloc]initWithData:responseData_get2 encoding:NSUTF8StringEncoding];


 NSString *responseURL_get2 = [[response_get2 URL] absoluteString];           // null value
 NSString *responseTextEncodingName_get2 = [response_get2 textEncodingName];  // null value
 NSString *responseMIMEType_get2 = [response_get2 MIMEType];                  // null value
 NSUInteger *responseStatusCode_get2 = [response_get2 statusCode]; //[responseStatusCode intValue]; // the status code is 0

非常感谢

最佳答案

如果响应代码为 0,则响应 response_get2 可能从未初始化,这可能表明请求存在与您的 Web 服务器无关的问题。

您设置了 error_get2,因此请在发出请求后检查其值:

if (!error_get2) {
    NSString *responseURL_get2 = [[response_get2 URL] absoluteString];           // null value
    NSString *responseTextEncodingName_get2 = [response_get2 textEncodingName];  // null value
    NSString *responseMIMEType_get2 = [response_get2 MIMEType];                  // null value
    NSUInteger *responseStatusCode_get2 = [response_get2 statusCode]; //[responseStatusCode intValue]; // the status code is 0
}
else {
    NSLog(@"something went wrong: %@", [error_get2 userInfo]);
}

关于iphone - HTTP 状态代码 = 0 (iPhone)( objective-c ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3177852/

相关文章:

iphone - iOS:AFNetworking:如果 token 过期则重复 block

iphone - 如何防止Xcode更改按钮的颜色?

iphone - 如何使用 CAFilter 为相机光圈动画制作动画?

ios - UItextfield 用空字符串初始化?不为空?也不为零?

ios - Xcode 4/iOS - 从我的应用程序内部使用 SMTP 发送电子邮件

ios - Timer.scheduledTimer 在 swift 3 中不起作用

ios - 自定义键盘的自动更正和建议

ajax - Datatables 1.10.5 ajax 错误处理程序 - 访问 http 状态代码

php - 发送 HTTP 403.6 状态码

api - .net core 允许在使用 CORS 时发回错误 401(而不是零)