Iphone-AFNetworking登录表单始终返回404

Iphone-AFNetworking登录表单始终返回404,iphone,forms,login,afnetworking,Iphone,Forms,Login,Afnetworking,我在AFNetworking方面遇到了问题,决定使用它,因为ASIHTTP长期以来一直不受欢迎,我尝试在登录表单请求中使用它,但响应代码始终为-1011 #define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 这是我的密码: NSString *urltest = [NSString stringWithFormat:@"%@%@/", SERVER_ADDRESS, API_ADDRESS]; NSURL *url = [NSURL

我在AFNetworking方面遇到了问题,决定使用它,因为ASIHTTP长期以来一直不受欢迎,我尝试在登录表单请求中使用它,但响应代码始终为-1011

#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 
这是我的密码:

NSString *urltest = [NSString stringWithFormat:@"%@%@/", SERVER_ADDRESS, API_ADDRESS];
NSURL *url = [NSURL URLWithString:urltest];
NSLog(@"url address : %@",url);
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
httpClient.allowsInvalidSSLCertificate = TRUE;
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                        _email.text, @"email",
                        _password.text, @"password",
                        nil];
#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 
//在这里,我尝试使用AFHTTPRequestOperation执行登录请求

NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"/auth/login" parameters:params];
[request setValue:@"application/x-www-form-urlencoded; charset=UTF8" forHTTPHeaderField:@"Content-Type"];

//Notice the different method here!
AFHTTPRequestOperation *operation = [httpClient HTTPRequestOperationWithRequest:request
                                                                        success:^(AFHTTPRequestOperation *operation, id responseObject) {

NSLog(@"Response: %@", responseObject);
                                                                        }
                                                                        failure:^(AFHTTPRequestOperation *operation, NSError *error){
                                                                            NSLog(@"Error: %@", error);
                                                                        }];
//Enqueue it instead of just starting it.
[httpClient enqueueHTTPRequestOperation:operation];
#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 
//在这里,我尝试使用postPath:parameters:method执行登录请求

[httpClient postPath:@"/auth/login" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
    [self performSegueWithIdentifier:@"AuthOK" sender:self];
    NSString *responseStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
    NSLog(@"Request Successful, response '%@'", responseStr);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Request failed with code %d for %@ for request : %@",error.code , error.localizedDescription,httpClient.baseURL);    
}];
#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 
这两种方法都不管用,我猜我在哪里做错了什么

#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 
顺便说一句,我登录的服务器有一个未签名的ssl证书,但我通过添加

#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 
在AFURLConnectionOperation.h中

#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 
我使用Charles监视http请求,它给了我一个“SSLHandshake:握手期间远程主机关闭连接”

#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 
我的应用程序运行iOS 5

#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 
有人对此有见解吗

#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 

Leo

我的解决方案是用空url初始化我的请求,然后在后路径中放入整个地址。

我的解决方案是用空url初始化我的请求,然后在后路径中放入整个地址。

您需要在设备上安装Charles的SSL证书来解密SSL通信

#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 

您需要在设备上安装Charles的SSL证书来解密SSL流量

#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1 

Charles错误表示您没有正确设置HTTPS代理。请在
[AFHTTPClient postPath:parameters:success:failure:][code>中放置断点。在调试器中键入
porequest
,并查看它使用的URL。是吗?嗨,亚伦,谢谢你的回答,我使用的地址和我以前使用AsitpRequest时使用的地址一样,我知道url很好。我猜HTTPS代理没有正确设置,但我不明白为什么,正如我前面所说,我正在使用的服务器有一个未签名的证书。至于断点,它给了我
错误:使用未声明的标识符'request'错误:1解析表达式时出错
。描述的url是正确的,没有后路径扩展(/auth/login),这意味着您在定义
request
之前设置了断点。我理解这一点,但在放置断点的部分中没有请求变量。Charles错误意味着您没有正确设置HTTPS代理。请在
[AFHTTPClient后路径:参数:成功:失败:]
。在调试器中键入
po request
并查看它使用的URL。是否正确?嗨,亚伦,谢谢你的回答,我使用的地址与我以前使用ASIHTTPRequest时使用的地址相同,我知道URL很好。我猜HTTPS代理没有正确设置,但我无法找出原因,正如我之前所说的,我正在使用的服务器e、 具有未签名的证书。对于断点,它给了我
错误:使用未声明的标识符'request'错误:1解析表达式时出错
。描述的url是正确的,没有后路径扩展(/auth/login)这意味着您在定义
请求之前设置了断点。我理解这一点,但在我放置断点的部分中没有请求变量。。
#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 1