繁体   English   中英

创建iOS客户端服务器应用。 ASIFormDataRequest问题

[英]Create iOS client server app. ASIFormDataRequest issues

我的问题是:如何使用ASIFormDataRequest创建与下面相同的请求,其次是我认为我需要从响应中解析JSON。

http://exampledomain.com/mobile_api/register/?client=iphone&info=A=iPhone/OS=5.1/C=UA&time=1342780143&udid=8b6f0cc104d137ae2e1730235f5664094b831122&version=1.0&secure=5444d72741bad93b916577d9297fa

现在我尝试使用这样的代码

NSString *strURL = @"http://test2.mafia.ua/mobile_api/register/";
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:strURL]];
    [request setDelegate:self];
    [request setPostValue:@"iphone" forKey:@"client"];
    [request setPostValue:@"A=iPhone/OS=5.1/C=UA" forKey:@"info"];
    [request setPostValue:@"1342780143" forKey:@"time"];
    [request setPostValue:@"8b6f0cc104d137ae2e1730235f5664094b831122" forKey:@"udid"];
    [request setPostValue:@"1.0" forKey:@"version"];
    [request setPostValue:@"5444d72741bad93b916577d9297fa" forKey:@"secure"];
    [request startAsynchronous];

这个对吗?

我也实现委托方法

- (void)requestFinished:(ASIHTTPRequest *)request {

    NSLog(@"Response %d ==> %@", request.responseStatusCode, [request responseString]);

}
- (void)requestFailed:(ASIHTTPRequest *)request {

}

作为回应,如果使用某些浏览器,我会得到这个(我认为这是JSON)。

{“状态”:“确定”,“秘密”:“ b82b7771f600772c2c5af903b117b5e”,“客户端”:“ 200004”,“过期”:“ 1345372850”}

您正在POST字段中传递数据(这就是setPostValue:所做的。)

您应该将它们包含在URL中; 尝试搜索在URL中构建查询参数的简单方法,或者只使用stringWithFormat:之类的方法并进行适当的转义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM