웹사이트 파싱 문의 드립니다.

웹사이트 파싱 문의 드립니다.

QA

웹사이트 파싱 문의 드립니다.

본문

완전 초보라 여기저기 보면서 따라 해 보았는데 방법을 잘 모르겠네요 어떻게든 해보려 했는데 몇일 날새다

문의 드려 봅니다.

제 홈페이지에서 관세청 사이트

http://portal.customs.go.kr/StaPt/StaInfoOfferAction_3.do?method=viewImpCargoProgInfoEach 

상기 페이지에 화물코드를 보내면 결과값이 보여지게 만들고 싶은데요

아무리 해도 리퍼러 수정해봐도 헤더값 바꿔봐도 null 값만 가져 오네요

모바일 페이지로 시도 해봐도 마찬가진데 어떤 방법이 있을까요 답변 부탁드립니다.

초보라서 조금만 친절한 설명 부탁드려요^^

이 질문에 댓글 쓰기 :

답변 2

링크된 주소에 화물코드를 제출하고 그 결과로 나온 값을 받아서 자신의 홈페이지상에 표시하고 싶다는 것인가요?

 

위 주소로 들어가보니 로그인 페이지로 이동되던데요.

curl 을 이용하셔서 정보를 제출하고 그결과 페이지를 파싱하셔야 합니다.

curl로 하는 방법을 제가 몰라서 그런지 잘 안되네요
그리고 위 주소로 들어갔더니 저는 404 에러가 나고 주소창에 넣어서 들어가니 페이지가 열리네요 이상하게요
원본 페이지가
http://portal.customs.go.kr/kcsipt/portal_link.jsp?portalGoToLink=inform_5&iFrameGoToLink=/StaPt/StaInfoOfferAction_3.do?method=viewImpCargoProgInfoEach
여기 입니다.
스누피클래스로 긁어오니 엑티브엑스 설치 페이지를 긁어 오더라고요 ㅜㅜ
원하는 페이지를 값을 보내고 결과값을 가져오는 방법도 잘 모르는 상황에
일단 페이지 부터 가져와 보고 분석해 여기저기 공부하면서 해결해 보려고 했는데
당장 처음부터 난관에 빠져서 맨붕상태 입니다.
바쁘시겠지만 설명좀 해주시면 감사드리고 아니라도 좋은 강좌 링크라도 걸어주심 고맙겠습니다.꾸벅

몇일을 curl 강좌 찾아가며 만들어 본 코드 입니다.
<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,"http://portal.customs.go.kr/StaPt/StaInfoOfferAction_3.do");
//curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt ($ch, CURLOPT_FRESH_CONNECT, false);
$data = array('method' => 'viewImpCargoProgInfoEach', 'list_count' => '10', 'mrn_mbl_hbl' => '', 'page_no' => '1', 'srch_ditc' => '2', 'now_year' => '', 'curr_year' => '15', 'mrn' => '', 'm_bl_srl_no' => '', 'h_bl_srl_no' => '', 'srchchk' => '2', 'm_bl_no' => '', 'h_bl_no' => '8080808080', 'year' => '2015');
$data = http_build_query($data);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt ($ch, CURLOPT_TIMEOUT, 5);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($ch);
curl_close ($ch);
echo $result;
?>
이렇게 작성 하고 이리 저리 수정만 천번쯤 해 봤는데요 아무리해도 보안메세지 페이지까지 갔다가 다시 돌아와
404 에러 페이지만 나오네요.
어떻게 어디를 수정해야 하는지 도움 좀 주시면 감사 하겠습니다.

질문내용이 자세하지 않아서 애매 합니다만..

현재 보유하고 계신 사이트-> 관세청으로 값전송후 -> 결과값 리턴 해서 본인 웹에서 보여 주시고 싶으신건지요?제가 한말이 맞다면 curl 로 -> post나 get 전송후 리턴 값을 받아 처리 하시면 됩니다. 

게시글의 주소를 클릭해보니 404에러가 뜨네요 이상하네요 브라우져 주소창에 치고 들어가면 원하는 프레임 페이지가 뜨거든요
http://portal.customs.go.kr/kcsipt/portal_link.jsp?portalGoToLink=inform_5&iFrameGoToLink=/StaPt/StaInfoOfferAction_3.do?method=viewImpCargoProgInfoEach
위 주소 입니다.
말씀하신 curl로 이리저리 찾아봐서 했더니 아예 작동을 안하네요 404에러가 나거나
그래서 다시 스누피 클래스로 긁어와봤더니 보안프로그램을 설치하라는 안내 페이지를 긁어 오네요
직접 웹사이트로 들어가면 보안 프로그램 설치하라는 메세지는 볼 수가 없는데 긁어오면 설치안내 페이지가 나오는데
이걸 회피하고 결과 페이지를 가져올 수 있는 방법이 없을까요?
다시한번 답변 부탁 드립니다.꾸벅

리눅스 콘솔상에서 curl 명령어로 위에 주소는 넣고 실행 해보세요..
정상적으로 소스가 노출이 되면 이상이 없는 것입니다.
실제로 curl http://portal.customs.go.kr/StaPt/StaInfoOfferAction_3.do?method=viewImpCargoProgInfoEach 하니 정상적으로 소스 출력이 잘되는군요..
개인적으로는 php curl 함수를 사용하는것 보단..
exec(curl ~~) 으로 하는게 더 낫더라구요~

정상적으로 잘 나오신다 해서 더 물어 보고 싶었지만
스스로 해보려 족히 천번은 넘게 수정 해본거 같은데
결국 실패해서 이렇게 쪽지 보냅니다 ㅜ
제가 했던 코드 인데요


<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,"http://portal.customs.go.kr/StaPt/StaInfoOfferAction_3.do"); 
//curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt ($ch, CURLOPT_FRESH_CONNECT, false);
$data = array('method' => 'viewImpCargoProgInfoEach', 'list_count' => '10', 'mrn_mbl_hbl' => '', 'page_no' => '1', 'srch_ditc' => '2', 'now_year' => '', 'curr_year' => '15', 'mrn' => '', 'm_bl_srl_no' => '', 'h_bl_srl_no' => '', 'srchchk' => '2', 'm_bl_no' => '', 'h_bl_no' => '8080808080', 'year' => '2015');
$data = http_build_query($data); 
curl_setopt ($ch, CURLOPT_HEADER, 0); 
curl_setopt ($ch, CURLOPT_POST, 1); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 5); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec ($ch);
curl_close ($ch);
echo $result;
?>



어디를 어떻게 수정해야만 할까요
저렇게 작성하고 실행하면 404에러가 나오더라고요
근데 나중에 알게된건데 파아어폭스로 과정을 보는게 있어서 보니까 관세청에 까지 갔다가 원하는 페이지로 안가고 보안 페이지에 갔다가 돌아오는거까지는 확인 해써요
이게 왜 그런거지요? 어떻게해야 정상 페이지 결과값을
가져올 수 있을까요 ㅜㅜ 자세한 조언 좀 부탁드립니다.
감사합니다.꾸벅

답변을 작성하시기 전에 로그인 해주세요.
전체 149
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT