2010-04-06 4 views
0

기본적으로 원하는 것은 웹 사이트의 콘텐츠를 가져 와서 다른 웹 사이트의 div에로드하는 것입니다. 지금까지 문제가되지 않아야합니다. 문제는 가져와야하는 콘텐츠가 다른 서버에 있고 원본 액세스 권한이 없다는 것입니다.다른 서버의 웹 사이트에서 내용 가져 오기

jQuery의 JavaScript를 사용하는 솔루션을 선호합니다. .htacces 리디렉션을 사용하여 클라이언트 측 (js) 기술로 원격 서버에서 내용을 가져올 수 있습니까?

나는 또한 다른 해결책으로 갈 것이다. 미리 감사드립니다.

+0

화면 긁기를 검색 할 수 있습니다. :)) –

+0

PHP file_get_contents를 사용할 수 없습니까? HTML – Ben

답변

3

동일한 출처 정책으로 인해 다른 도메인에 대해 AJAX 호출을 실행할 수 없습니다. 다른 도메인의 Javascript 파일을 가리키는 DOM에 <script> 태그를 추가하십시오. 이 JS 파일에 사용할 수있는 JSON 데이터가 포함되어 있으면 모두 설정됩니다.

유일한 문제는 이 JSON-P 콜백이 나타나는 JSON 데이터에서을 얻는 것입니다. 해외 자원 JSON-P를 지원하는 경우, 그것은 당신에게 그런 다음 콜백에 코드를 지정

your_callback({ // JSON data }); 

처럼 보이는 뭔가를 줄 것이다.

자세한 내용은 JSONP을 참조하십시오.

JSONP가 옵션이 아닌 경우 가장 좋은 방법은 데이터 서버 측을 가져와 몇 분마다 cron 작업으로 말하고 사용자 사이트에 로컬로 저장하는 것입니다.

1

서버 쪽 XMLHTTP 요청을 사용하여 다른 서버에서 콘텐츠를 가져올 수 있습니다. 그런 다음 서버에서 구문 분석 (A.K.A screen-scraping)하고 웹 페이지와 함께 원하는 부분을 제공하십시오.

0

다른 웹 사이트의 콘텐츠가 사이트에 표시하려는 HTML 문서 인 경우 iframe을 사용하여 가져올 수도 있습니다. 브라우저 때문에 콘텐츠에 액세스 할 수 없습니다 보안 규칙.

+0

을 HTML 문서의 일부로 리턴하는 JQuery에서 PHP 스크립트를 호출 할 수있다. – ngmir

0

필요한 데이터를 "긁어내어"서버에 저장해야 할 수 있습니다.

이것은 외부 사이트에서 데이터를 캐시하는 방법에 관한 great tutorial입니다. 실제로 XML을 가져오고 저장하기 위해 작성되었으므로 약간의 수정이 필요합니다. 또한 사이트에서 file_get_contents을 허용하지 않는 경우 cUrl을 사용하도록 사이트를 수정해야 할 수도 있습니다.

관련 문제