2013-07-29 2 views
1

간단한 Django 응용 프로그램을 만들고 Django REST Framework로 일부 API 끝점을 노출했습니다. 지금은 기본 인증을 사용하고 있습니다. 나는 명령 줄에서 테스트 한 모든 완벽하게 작동합니다 :IOS를 사용하여 장고 REST 프레임 워크 API를 호출합니다.

curl -H 'Accept: application/json; indent=4' -u myuser:mypass http://myapp.herokuapp.com/items/ 

는 내가 IOS 개발자에게 API를 전달하고있다. json 데이터를 올바르게 인증하고 전달하기 위해 IOS 애플리케이션에서 호출 할 올바른 매개 변수는 무엇입니까? 나는 정말로 IOS 개발에 익숙하지 않으므로이 방법에 접근하는 방법을 놓치고있다.

도움을 주시면 감사하겠습니다.

답변

0

우리의 IOS dev는 실제로 약간 다른 구현을 사용했으며, 코드 완성도를 게시하고 있습니다.

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
[request setRequestMethod:@"GET"]; 
[request addRequestHeader:@"Authorization" value:[NSString stringWithFornat:@"Basic %@",  [ASIHTTPRequest base64forData:[[NSString stringWithFormat:@"%@:%@",username,password] dataUsingEncoding:NSUTF8StringEncoding]]]]; 
[request setDidFinishSelector:@selector(requestFinished:)]; 
[request start]; 
+1

ASIHTTPRequest는 2011 년부터 사용되지 않았으므로 향후 제공되지 않을 것으로 예상됩니다. http://allseeing-i.com/ASIHTTPRequest/ – neilkimmett

2

'curl'을 사용하고 '-u myuser : mypass'를 사용하면 HTTP Authorization 헤더에 사용자 이름과 암호가 전송됩니다. 나는 IOS에서이 작업을 수행하는 방법을 잘 모르지만 다음과 같은 URL을 사용하여 POST 요청을 시도합니다. http://username:[email protected]/

+0

예, URL에 게시하십시오. ios 네트워킹 라이브러리에 MKNetworkKit을 사용하는 것이 좋습니다. 자신의 글을 쓸 이유가 없습니다. – JeffRegan

+0

@ M1Reeder NSURLConnection은 기본 인증을 "거의"자동으로 처리 할 수 ​​있습니다. 또는 해당 대리인 메서드에서 필요한 응용 프로그램에 맞게 쉽게 조정할 수 있습니다. 네트워킹 경험이있는 개발자는이를 수행 할 수 있어야합니다. 웹 서비스는 REST이므로 HTTP 메소드를 임의로 가짜로 만들 수 없습니다. POST 메소드는 "자원 작성"요청 (갱신 용 PATCH)에만 사용됩니다. https를 사용하는 것도 필수입니다. – CouchDeveloper

1

개발자에게 API URL, 사용자 이름 및 암호를 제공하고 기본 인증을 수행하도록 알려줍니다. 그는 무엇을해야하는지 알 것이다.

그가 무엇을 해야할지하지 않는 경우, 당신은이 글에 그를 가리킬 수 있습니다 NSURLConnection and Basic HTTP Authentication in iOS JSON에 대해

, 당신이 그때는 너무 잘되어야 헤더 'Accept: application/json;'를 요청하기 위해 추가 아이폰 OS 개발자를 요청할 수 있습니다 생각 .

0

이렇게하면 인증 문제가 발생합니다.