如何使用Asihttprequest异步请求服务器?

时间:2014-11-18 06:02:34

标签: ios httprequest asihttprequest sendasynchronousrequest

我的服务器登录参数:

username
password (md5 encrypted)
logintype

返回参数:

userId
username
levelid
mobilenum
email
  • 0成功
  • 10001帐户名称不能为空
  • 10002帐户不存在
  • 10003密码不正确
  • 10004无效帐户

1 个答案:

答案 0 :(得分:0)

试试这个,

#import <CommonCrypto/CommonDigest.h>

NSString *md5(NSString *str) {
    const char *cStr = [str UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    CC_MD5( cStr, strlen(cStr), result );
    return [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
            result[0], result[1],
            result[2], result[3],
            result[4], result[5],
            result[6], result[7],
            result[8], result[9],
            result[10], result[11],
            result[12], result[13],
            result[14], result[15]
            ];
}

- (IBAction)grabURLInBackground:(id)sender
{
    NSURL *url = [NSURL URLWithString:yourURL];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];

     (md5 encrypted)

    [request addPostValue:@"your username" forKey:@"username"];
    [request addPostValue:md5(@"your password"); forKey:@"password"];
    [request addPostValue:@"your login type" forKey:@"logintype"];
    [request setDelegate:self];
    [request startAsynchronous];
}

- (void)requestFinished:(ASIHTTPRequest *)request
{
    // Use when fetching text data
    NSString *responseString = [request responseString];

    // Use when fetching binary data
    NSData *responseData = [request responseData];
}

- (void)requestFailed:(ASIHTTPRequest *)request
{
    NSError *error = [request error];
}