Iphone 使用AFN网络和获取错误404

Iphone 使用AFN网络和获取错误404,iphone,ios,phpmyadmin,xampp,Iphone,Ios,Phpmyadmin,Xampp,这是我的第一次尝试,我面临着错误 Expected status code in (200-299), got 404 我正在学习本教程> 我已经创建了下面的类: TalkToNetwork.h #import "AFHTTPClient.h" #import "AFNetworking.h" typedef void (^JSONResponseBlock)(NSDictionary* json); @interface TalkToNetwork : AFHTTPClient @pr

这是我的第一次尝试,我面临着错误

Expected status code in (200-299), got 404
我正在学习本教程>

我已经创建了下面的类:

TalkToNetwork.h

#import "AFHTTPClient.h"
#import "AFNetworking.h"

typedef void (^JSONResponseBlock)(NSDictionary* json);

@interface TalkToNetwork : AFHTTPClient

@property (strong, nonatomic) NSDictionary* user;

-(BOOL)isAuthorized;

-(void)commandWithParams:(NSMutableDictionary*)params onCompletion:(JSONResponseBlock)completionBlock;

+(TalkToNetwork*)sharedInst;

@end
TalkToNetwork.m

    #import "TalkToNetwork.h"

//the web location of the service
#define kAPIHost @"http://localhost/"
#define kAPIPath @"Test/"

@implementation TalkToNetwork

@synthesize user;

+(TalkToNetwork*)sharedInst{

    static TalkToNetwork *sharedInstance = nil;
    static dispatch_once_t oncePredicate;
    dispatch_once(&oncePredicate, ^{
        sharedInstance = [[self alloc] initWithBaseURL:[NSURL URLWithString:kAPIHost]];

    });

    return sharedInstance;
}

-(BOOL)isAuthorized{

    return [[user objectForKey:@"IdUser"] intValue] > 0;
}

-(void)commandWithParams:(NSMutableDictionary*)params onCompletion:(JSONResponseBlock)completionBlock{

    NSMutableURLRequest *apiRequest =
    [self multipartFormRequestWithMethod:@"POST"
                                    path:kAPIPath
                              parameters:params
               constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
               }];

    AFJSONRequestOperation* operation = [[AFJSONRequestOperation alloc] initWithRequest: apiRequest];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        //success!
        printf("success");
        completionBlock(responseObject);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        //failure :(
        printf("failure");
        completionBlock([NSDictionary dictionaryWithObject:[error localizedDescription] forKey:@"error"]);
    }];

    [operation start];
}


-(TalkToNetwork*)init{

    self = [super init];

    if (self != nil) {
        user = nil;

        [self registerHTTPOperationClass:[AFJSONRequestOperation class]];

        [self setDefaultHeader:@"Accept" value:@"application/json"];
    }

    return self;
}

@end
#导入“TalkToNetwork.h”
//服务的web位置
#定义kAPIHost@“http://localhost/"
#定义kAPIPath@“测试/”
@TalkToNetwork的实现
@综合用户;
+(TalkToNetwork*)sharedInst{
静态通话网络*sharedInstance=nil;
静态调度一次预测;
一次发送(一次预测)^{
sharedInstance=[[self alloc]initWithBaseURL:[NSURL URLWithString:kAPIHost]];
});
返回共享状态;
}
-(BOOL)未授权{
返回[[user objectForKey:@“IdUser”]intValue]>0;
}
-(void)commandWithParams:(NSMutableDictionary*)参数onCompletion:(JSONResponseBlock)completionBlock{
NSMutableURLRequest*APIRQUEST=
[self multipartFormRequestWithMethod:@“POST”
路径:kAPIPath
参数:params
构造体WithBlock:^(id formData){
}];
AFJSONRequestOperation*操作=[[AFJSONRequestOperation alloc]initWithRequest:apiRequest];
[操作setCompletionBlockWithSuccess:^(AFHTTPRequestOperation*操作,id响应对象){
//成功!
printf(“成功”);
完成块(响应对象);
}失败:^(AFHTTPRequestOperation*操作,NSError*错误){
//失败:(
printf(“失败”);
completionBlock([NSDictionary Dictionary WithObject:[error localizedDescription]forKey:@“error”]);
}];
[操作启动];
}
-(TalkToNetwork*)初始化{
self=[super init];
if(self!=nil){
用户=零;
[self-registerHTTPOperationClass:[AFJSONRequestOperation class];
[self-setDefaultHeader:@“接受”值:@“应用程序/json”];
}
回归自我;
}
@结束
我下载并安装了XAMPP作为教程建议,运行了所有三个控件(Apache、MySQL、FTP),并使用
phpmyadmin
手动创建数据库和表(“登录”)

我正在遵循教程中的每一步,但仍然会遇到上面的错误。此外,我正在手动将链接传递到浏览器“http://localhost/Test/“并获取错误404。 我错过了什么


提前感谢。

您传入的URL无效。请在浏览器中检查该URL

  • 检查Apache是否在
    http//localhost/
    http://172.0.0.1/
    或..
    http://localhost:8080/
  • 检查PHP是否工作正常
    http://localhost/test/index.php
  • UPD

    从教程:

    “解压缩的ZIP应该包含几个PHP文件和一个名为 “上传。主API文件是index.php”

    ……然后……”

    将Finder中的文件复制到您的web文件夹“

    “如果有任何设置,您必须更改域和路径 而不是从本地计算机调用API“

    也许..您必须尝试
    http://localhost/xampp/test/

    UPD2

    错误403禁止访问:

    1 a) 在Finder中选择测试文件夹 b) 选择“显示信息” c) 在“所有权和权限”下,检查您是否具有读/写权限

    2
    检查\将您的httpd.conf从“Deny from all”修改为“Order allow”和“allow from all”-

    好吧,本地主机本身会将我指向。我想您的意思是,这会将我指向上面的同一页。但是,php链接返回“Object not found!”。我使用的是一台Mac电脑,它需要有index.php才能找到它?谢谢,因为我是Mac电脑的新主人。。你知道我在哪里可以找到web文件夹吗?我错过了这一点…更新:忘了提到我已经将带有文件的文件夹粘贴到硬盘中的web服务器/文档中。我尝试了localhost/~myusername/test,localhost/myusername/test,localhost/test,localhost/xampp/~myusername/test,但没有成功!我迷路了:(/Applications/XAMPP/htdocs/-Apache DocumentRoot目录,这是网页所属的目录。这里..您必须放置所有文件夹\文件..好的,我已将文件夹粘贴到那里。URL给出了错误404。但是如果我现在尝试,将给出错误403禁止访问!我如何修复它?谢谢您的时间。