-
아이폰에서 워드프레스 댓글 - post 전송프로그래밍/아이폰 2010. 12. 6. 15:11
워드프레스에 이미 XML-RPC를 지원하고, 모바일용 어플리케이션이 오픈소스로 나와있어서
최적화된 방법과 표준 프로토콜을 사용하는 방법이 나와있습니다.
아이폰에서 일반적인 post 형식의 데이터를 전송하기 위한 방법입니다.
우선 워드프레스의 코멘트를 처리해주는 기본적인 로직은 .../wordpress/wp-comments-post.php 입니다.
해당 php 프로세스로 덧글양식을 날려주기만 하면 됩니다.
우선 해당 php의 주소로 mutable한 URL리퀘스트를 생성합니다.
NSURL *ul = [[NSURL alloc] initWithString:@http://.../wordpress/wp-comments-post.php];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
리퀘스트 형식을 "post"로 하고, 헤더를 정의해줍니다.
[request setHTTPMethod:@"POST"];
[request setVale:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
이제 POST 메소드의 body만 작성해서 날리면 되는데요.
워드프레스의 comments-post에 날려야 하는 필드는 로그인하지 않았다면 comment와 포스트 id만 넘기면 됩니다.
작성자를 함께 입력하려면, 작성자(author), 이메일(email), 작성자 URL (url), 내용(comment)와 포스트id 가 필요합니다.
앱에서 전송할거라서 hidden같은 값은 어차피 안보이니 의미가 없습니다.
NSString *postBody = [NSString stringWithFormat:@"comment=덧글입니다&comment_post_ID=1"];
적기 힘드니 대충 저런 모양세입니다. 배열로 개별값을 만들어서, 문자열 생성하시면 편리합니다.
각각의 value는 n=v 식이고, &로 계속 이어가면 됩니다. 암튼 작성하시고,
UTF8로 인코딩해서 NSData로 변경해주세요.
NSData *param = [postBody dataUsingEncoding:NSUTF8StringEncoding];
이제 이걸 리퀘스트에 첨부합니다.
[request setHTTPBody:param];
이제 urlconnection을 하나 만드시고 날리시면 됩니다.
NSURLConnection *connection=[[[NSURLConnection alloc] initWithRequest:request delegate:nil] autorelease];
[connection start];
[url release];
[request release];
원한다면 URLconnection에 델리게이트 설정해서 피드백을 받을수 있습니다.
'프로그래밍 > 아이폰' 카테고리의 다른 글
테이블뷰에서 uitextfield 입력할때 키보드뒤로 가려지지 않게하기 (0) 2010.12.27 웹뷰에서 텍스트파일 깨짐 (0) 2010.12.21 transform 사용할때 좌표문제 (0) 2010.11.05 NSXML 파서 + 커스텀 테이블 뷰 (2) 2010.08.31 다음 샘플은 xml 파서로 결정 (0) 2010.08.27 댓글