“(200-299)中的预期状态代码,得到 404”

Posted

技术标签:

【中文标题】“(200-299)中的预期状态代码,得到 404”【英文标题】:"Expected status code in (200-299), got 404" 【发布时间】:2013-08-10 14:56:38 【问题描述】:

这是我的代码:

    NSURL *url = [NSURL URLWithString:@"http://wspublisherv2.skygiraffe.com/WSpublisherV2.svc/Authenticate"];
    AFHTTPClient *client = [[AFHTTPClient alloc]initWithBaseURL:url];
    NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:@"john@sgdemo.com", @"UserName", @"123", @"Password", nil];
    NSLog(@"%@", parameters);
    [client postPath:nil parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) 
        NSLog(@"success: %@", responseObject);
     failure:^(AFHTTPRequestOperation *operation, NSError *error) 
        NSLog(@"failure: %@", error);
    ];

它总是触发故障块,我收到“预期状态码在 (200-299),得到 404”消息。

当我通过 Fiddler 尝试时,它可以工作。

【问题讨论】:

推荐阅读:w3.org/Protocols/rfc2616/rfc2616-sec10.html 我知道 404 是什么意思,只是不知道如何让它工作...... 我会尝试从基本 URL 中删除 Authenticate 并将其作为 postPath 参数移动。 Authenticate 不是基本 URL 的一部分;它是执行请求的实际页面。 IE。 “wspublisherv2.skygiraffe.com/WSpublisherV2.svc/Authenticate/”不同于“wspublisherv2.skygiraffe.com/WSpublisherV2.svc/Authenticate”。 在我的浏览器上打开它,它说“方法不允许”,我认为 URL 可能是错误的 【参考方案1】:

您需要更多信息。使用像 Charles Proxy 这样的代理来监视您的设备和服务器之间的流量。这会让你看到实际的请求。您可以将其与有效的请求进行比较,差异应该可以很好地了解问题所在。至少,它会使您的问题更加具体。

【讨论】:

以上是关于“(200-299)中的预期状态代码,得到 404”的主要内容,如果未能解决你的问题,请参考以下文章