2009-10-20 1 views
5

Я использую класс ASIHTTPRequest для связи с веб-службой и получения ответа. Это, как я отправить запрос на серверiPhone и ASIHTTPRequest - Не удается запустить HTTP-соединение

NSString *str = [NSString stringWithFormat:@"%@verifyLogin.json", serverUrl]; 
NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease]; 
[request addRequestHeader:@"Content-Type" value:@"text/x-gwt-rpc; charset=utf-8"]; 
NSDictionary* data = [NSDictionary dictionaryWithObjectsAndKeys:emailId, @"username", pwd, @"password", nil]; 
[request appendPostData: [[data JSONFragment] dataUsingEncoding: NSUTF8StringEncoding]]; 
[request setRequestMethod:@"POST"]; 
[request setDelegate:self]; 
[request setDidFinishSelector: @selector(gotLoginResponse:)]; 
[request setDidFailSelector: @selector(loginRequestFailed:)]; 

[networkQueue addOperation: request]; 
[networkQueue go]; 

управления немедленно переходит к подпрограмме обработки ошибок и описание ошибки и области являются

Невозможно установить соединение HTTP и ASIHTTPRequestErrorDomain

Я могу получить тот же запрос для работы с помощью настольного инструмента для проверки HTTP-запросов, чтобы я знал, что все настройки верны.

Может кто-нибудь, пожалуйста, сообщите мне, что мне не хватает при отправке запроса?

Спасибо.

+0

в вашей первой строке он говорит «% verifyLogin.json». Не должно быть; "%@verifyLogin.json" ???? – Jake

+0

У меня такая же проблема, удачи ?! – Sasho

ответ

5

Как я уже говорил ранее;

в вашей первой строке указывается "% verifyLogin.json". Не должно быть ; "%@verifyLogin.json" ????

+1

К сожалению, это была опечатка. Исправьте в вопросе – lostInTransit

0

Можете ли вы проверить код состояния запроса при его отсутствии? Недавно я столкнулся с проблемой аутентификации пользователей JSON с ASI-HTTP-Request, где первый запрос всегда терпел неудачу с кодом состояния 0 и каким-то сетевым сбоем сетевого подключения (как если бы он не был подключен к Интернету, но явно был) ,

Я смог решить эту проблему, установив этот конкретный запрос, чтобы не пытаться использовать постоянное соединение.

Так что попробуйте это первым!

2

Для меня я забыл добавить http: // как я тестировал локально. Но после добавления http он успешно завершил

+1

тот же случай: D – Abo3atef