2012-07-20 138 views
0

我的問題是: 如何使用ASIFormDataRequest創建與下面相同的請求,其次我認爲需要從響應中解析JSON。創建iOS客戶端服務器應用程序。 ASIFormDataRequest問題

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),如果我使用某些瀏覽器。

{ 「地位」: 「OK」, 「祕密」: 「b82b7771f600772c2c5af903b117b5e」, 「客戶端」: 「200004」, 「過期」: 「1345372850」}

回答

1

你傳遞你的數據在POST領域(這就是setPostValue:所做的。)

您應該將它們包含在您的URL中;嘗試在URL中構建查詢參數的簡單方法,或者只是使用像stringWithFormat之類的東西:並適當地轉義。

+0

感謝您的迴應我嘗試使用它作爲URL,我得到響應403響應。但通過瀏覽器(Google Chrome),我得到json – 2012-07-20 11:56:32

+0

也許是因爲你仍在發佈數據?嘗試在你的應用中使用GET(可能直接使用ASIHTTPRequest?) – 2012-07-20 13:09:30

相關問題