2014-07-16 3 views
2

NSURLConnectionDelegate를 구현했으며 이론적으로 나를 기록해야하는 게시물 요청을 성공적으로 보냈습니다. Swift - 로그인 성공 여부 확인 (요청 후)

var url = NSURL(string:"https://www.test.com/signin.html") 
var request = NSMutableURLRequest(URL: url) 
request.HTTPMethod = "POST" 
var dataString = postString 
let data = (dataString as NSString).dataUsingEncoding(NSUTF8StringEncoding) 
request.HTTPBody = data 
var connection = NSURLConnection(request: request, delegate: self, startImmediately: false) 
println("sending request...") 
connection.start() 

나는 POST 요청 후 여기에 데이터를 인쇄 :

func connectionDidFinishLoading(connection: NSURLConnection) { 
// The request is complete and data has been received 
// You can parse the stuff in your instance variable now 
print ("\(responseData)") 
} 

그리고는 나에게 약간의 HTML 코드 다시 진수의 다른 물건을 제공합니다. 로그인이 성공했는지 어떻게 확인할 수 있습니까? 궁극적으로 저는 웹 사이트의 특정 부분으로 바로 이동하여 문서를 파싱하고 싶습니다.

편집 : 현재 올바른 및 잘못된 자격 증명에 대한 상태 코드 200을받습니다. 따라서 분명히 적절하지 않습니다.

답변

2

궁극적으로 웹 API에 달려 있습니다. 관행은 응답의 상태 코드를 사용하는 것입니다. 상태 코드 200 (OK)은 로그인이 성공했음을 나타냅니다. 그러면 로그인에 실패하면 API가 401 (Unauthorized)을 반환합니다.

NSURLResponsestatusCode 재산

+0

감사를 가지고, 내가 좋은 200 다시받을 수 있나요 보인다. – chris

+0

다음 링크로 이동할 수있는 권한이없는 것 같으며 게시 요청 이후에 반환 된 데이터가 원래 로그인 페이지이므로 다시 실패한 것으로 생각됩니다. – chris

+0

나는 이것이 성공적인 해결책이라고 생각하지 않는다. 성공적인 로그인뿐만 아니라 많은 경우에 반환 될 수있다. –

관련 문제