2012-06-13 3 views
0

온라인으로 티켓을 판매하는 웹 사이트의 iPhone 앱 버전을 만들고 있습니다. UIWebView를 사용하지 않고 iOS에서 결제 프로세스를 다시 구현하고 일부 변수 (티켓, 날짜 등)를 전달하고 결제를 처리하기위한 최종 HTTP 요청 만 수행하려고합니다.iOS 웹 사이트 체크 아웃

문제는 최종 구매를하는 요청의 구조를 모른다는 것입니다. 이걸 리버스 엔지니어링하려면 어떻게해야합니까?

더 중요한 것은 iPhone 화면의 웹 체크 아웃 프로세스를 수정하는 더 좋은 방법이 있습니까?

+0

티켓 판매 웹 사이트 코드에 액세스 할 수없는 것 같습니다. 그게 맞습니까? 티켓 판매 사이트에는 타사 개발자가이를 수행 할 수있는 공식 API가 있습니까? – dontangg

+0

아니요, 소규모 회사이므로 공개 API가 없습니다. 나는 웹 사이트 코드도 갖고 있지 않다. 그들은 웹 개발을 다른 사람에게 아웃소싱했다. –

답변

1

실제로 티켓을 판매하기 전에 티켓 판매 웹 사이트의 웹 사이트를 방문하여 최종 화면으로 이동하십시오. 그런 다음 HTML에있는 모든 입력을보고 해당 데이터로 요청을 보내십시오. jQuery가 웹 페이지에 있다면 정말 쉽습니다. 개발자 도구를 열고 명령을 입력 할 수있는 콘솔로 이동하여 $('input, textarea')을 입력하면 모든 목록이 표시됩니다.

예를 들어 페이지에 이와 같은 양식이있는 경우

<form method="post" action="makepayment.php"> 
    <input name="numTickets" /> 
    <input name="date" /> 
</form> 

그런 다음 numTickets 및 날짜를 ​​makepayment.php 페이지에 POST해야합니다.

HTTP 요청으로 전송해야하는 데이터입니다. 여기에 읽을 수있는 좋은 도서관이 있습니다 : http://allseeing-i.com/ASIHTTPRequest/. 이를 통해 다음과 같은 작업을 수행 할 수 있습니다.

NSURL *url = [NSURL URLWithString:@"https://ticketsellers.com/makepayment.php"]; 
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease]; 
[request setPostValue:@"2" forKey:@"numTickets"]; 
[request setPostValue:@"12/31/2012" forKey:@"date"]; 
[request startSynchronous];