2014-09-05 2 views
0
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:SPACEREQUESTFINAL_URL] cachePolicy:NSURLRequestUseProtocolCachePolicy 
                timeoutInterval:60]; 
NSString *authStr = [NSString stringWithFormat:@"%@:%@", @"mymac", @"qerty!98"]; 
NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding]; 
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64EncodedString]]; 
[request setValue:authValue forHTTPHeaderField:@"Authorization"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[request setValue:[NSString stringWithFormat:@"%d",[data length]] forHTTPHeaderField:@"Content-Length"]; 
[request setHTTPBody:data]; 
[request setHTTPMethod:@"POST"]; 
[request setTimeoutInterval:120]; 
[request setAllHTTPHeaderFields:jsonDictionary]; 
NSHTTPURLResponse* urlResponse=nil; 
NSError *error=nil; 
NSData *serverResponse = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error]; 
NSLog(@"ServerResponse %@",serverResponse); 
    if (error==nil) 
    { 
[NSURLConnection connectionWithRequest:request delegate:self]; 
NSString *str1=[[NSString alloc]initWithData:serverResponse encoding:NSUTF8StringEncoding]; 
NSLog(@"SSTR %@",str1); 
NSMutableDictionary *JsonDict=[NSJSONSerialization JSONObjectWithData:serverResponse options:NSJSONReadingAllowFragments error:&error]; 
} 

данных не разборе ServerResponse приходит нуль - запрос не отвечает на NSURLConnection может бытьNSURLConnection вопрос синтаксического анализа

Пожалуйста, подсказывают, как решить ее. Спасибо

+0

Добавьте 'else' пункт для' если (ошибка == ноль) 'и' журнал [ошибка localizedDescription] 'и ваши знания будут расширяться. – trojanfoe

ответ

0
NSMutableDictionary *datadict=[NSMutableDictionary dictionary]; 
[datadict setObject:[NSString stringWithFormat:@"%@", mymac] forKey:@"yourkeytoidentify"]; 
[datadict setObject:[NSString stringWithFormat:@"%@",qerty!98] forKey:@"yourkeytoidentify"]; 
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:datadict options:kNilOptions error:nil]; 
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
NSURL *someURLSetBefore =[NSURL URLWithString:@" url "]; 
[request setURL:someURLSetBefore]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
// [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
// [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[request setHTTPBody:jsonData]; 
NSError *error; 
NSURLResponse *response; 
NSData *responseData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
NSString * string1=[[NSString alloc]initWithData:responseData encoding:NSUTF8StringEncoding]; 
NSLog(@"%@",string1); 

} 
} 
+0

Пробовал так, но не использовал .... Данные правильные и запрос (NSMutableURLRequest) также правильный. Но когда я пытаюсь синхронизировать данные, все ключевые значения становятся нулевыми. –

+0

Положите точку останова и проверьте, есть ли у вас нулевые значения в вашей строке. –

+0

Когда я пытаюсь напечатать строку, она печатает в XML. «Сервер отказался от этого запроса, потому что объект запроса находится в формате, не поддерживаемом запрошенным ресурсом для запрошенного метода». –