2010-09-22 3 views
1

Как проверить веб-сервис, если имя пользователя/пароль верны?ASIHTTPRequest: проверьте правильность имени пользователя и пароля

Я не хочу передавать весь корпус ответа. Я только хочу знать, существует ли имя пользователя/пароль и является правильным. В настоящее время я посылаю запрос на мой веб-сервиса, как это:

self.request = [ASIHTTPRequest requestWithURL:urlObject]; 
[self.request setUsername:username]; 
[self.request setPassword:password]; 
[self.request addRequestHeader:@"Accept" value:@"application/json"]; 
[self.request setDelegate:self]; 
[self.request startAsynchronous]; 

Если я получить доступ к веб-сервиса с помощью браузера и вставить неверный пароль, я снова получаю диалог аутентификации отображается. Я пробовал то же самое в Xcode, и я получил код состояния = 200, если пароль был неправильным. Я думал, что могу сделать это с кодами состояния, такими как 401 и так далее. Но это не сработало, потому что я всегда получаю код статуса = 200. Должен ли я что-то менять на сервере?

Я использую веб-сервис REST, который использует Restlet 2.0 в качестве платформы Java. Docs

+0

Это действительно зависит от веб-сервиса и контракт интерфейса – vodkhang

+0

Можете ли вы объяснить это более подробно? Каковы возможности? – testing

+0

Как вы передаете имя пользователя и пароль веб-службе? Что именно API использует веб-сервис? Можете ли вы рассказать нам, что такое веб-сервис? Для веб-служб REST не существует «стандартного» способа выполнить проверку имени пользователя и пароля - если вы получаете код 200, вероятно, в тексте ответа содержится реальный ответ. – JosephH

ответ

0

Я все еще не уверен точно, как работает ваш веб-сервис, но из приведенной информации я думаю, что могу ответить на ваш вопрос.

Если вы получаете «requestFailed:» когда имя пользователя и пароль неправильно, то вы должны быть в состоянии избежать загрузки тела ответа с помощью:

[request setRequestMethod:@"HEAD"]; 
Смежные вопросы