2013-08-30 3 views
0

Эта ошибка печатается каждый раз при попытке подключения. Не знаю, почему он не может подключиться к серверу. Построено простое java-приложение, и оно отлично работало. Ive занимался серфингом StackOverflow в течение нескольких дней, пытаясь понять это. Пробовал несколько API и что-то просто не так. Если вам нужно больше кода или какие-либо дополнительные вопросы, дайте мне знать. Пожалуйста помоги. :(Сетевое соединение было потеряно NSURLConnection

2013-08-29 21: 56: 55,946 паника [15054: 70b] Ошибка домена = NSURLErrorDomain код = -1005 "Сетевое соединение было потеряно" UserInfo = 0xa779a30 {NSErrorFailingURLStringKey = http://54.221.224.251/, . NSErrorFailingURLKey = http://54.221.224.251/, NSLocalizedDescription = соединение с сетью потеряно, NSUnderlyingError = 0xa611130 "сетевое соединение было потеряно"}

Вот мой код, который устанавливает запрос:

NSString *urlPath = [NSString stringWithFormat:@"http://54.221.224.251"]; 
    [urlPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    NSURL *url = [NSURL URLWithString:urlPath]; 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
    NSString *stringdata = [NSString stringWithFormat:@"name=%@&email=%@&phash=%@",name,email,phash]; 
    NSString *postData = [[NSString alloc] initWithString:stringdata]; 
    [postData stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    [request setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
    [request setHTTPMethod:@"POST"]; 
    [request setHTTPBody:[postData dataUsingEncoding:NSUTF8StringEncoding]]; 
    NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
    self.connection = connection; 
    [connection start]; 

Вот мой код, который должен обрабатывать ответы с сервера php.

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ 
    [self.receivedData appendData:data]; 
} 
/* 
if there is an error occured, this method will be called by connection 
*/ 
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{ 

    NSLog(@"%@" , error); 
} 

/* 
if data is successfully received, this method will be called by connection 
*/ 
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{ 
    NSLog(@"WORKED!"); 
} 
+0

Вы можете успешно связаться с браузером? поскольку ваши stringdata выглядят как строка запроса GET, но вы хотите сделать POST ... (я просто немного смущен) – nanako

+0

Я могу сделать успешное соединение из браузера. Не правда ли, правда, правда? Поскольку сетевое соединение было потеряно, ошибка не будет выбрана, это будет похоже на ошибку 500. –

+0

Другое, что странно, заключается в том, что если я установил домен на google.com, он будет работать, поэтому я немного тупой. –

ответ

0

Вместо того, чтобы просто помещать амперсанды, мне нужно было добавить их так же, как для stringData.

NSString *stringdata = [NSString stringWithFormat:@"name=%@&email=%@&phash=%@",name,email,phash]; 

Это исправило мою проблему.

Смежные вопросы