2011-11-28 2 views
1

Linux 시스템에서 프록시 서버처럼 작동하는 프로그램을 작성 중입니다. 클라이언트가 웹 페이지를 묻는 메시지가 인 경우 먼 서버에 HTTP GET 요청을 보내면 .html 파일에 저장된 서버 응답 (웹 페이지)을 가져옵니다.C에서 HTTP 요청으로 이미지 얻기

여기 내 문제가 있습니다. 대부분의 웹 사이트에는 이미지에 대한 참조가있어 생성 된 .html 파일 프록시를 보려고하면 이미지가 나타나지 않습니다.

나는 많은 것을 수색했지만 아무 것도 발견하지 못했다. 이미지를 얻는 방법에 대한 코드를 작성하는 방법이 있는가?

는 그 이미지 파일 서버를 조회, 당신은 당신이 돌아 오기 및 이미지 참조 (IMG 태그)를 찾습니다 HTML 파일을 구문 분석하는 코드를 작성해야 할거야 사전

답변

1

에 감사드립니다. 이것은 웹 브라우저가 두포에서하고있는 것입니다.

HTML 파일의 이미지 참조가 원래 서버와 다르지만 추가 문제가 있습니다. 원래 HTML을 반환 한 서버를 사용할 수 없기 때문에로드하지 않았다고 가정합니다. 이 경우 각 이미지 파일을 얻은 후에는 로컬 파일 시스템에 이름을 지정하고 HTML의 참조를 새 로컬 이미지 이름을 가리 키도록 프로그래밍 방식으로 변경해야합니다.

그래서 예를 들면 : 당신이 임의의 웹 사이트를 조회하는 경우

<img src='http://example.com/image1.png'> 

는 당신은 또한 당신이 작업을 수행해야합니다 여러 다른 파일이 있다는 것을 확인할 수 있습니다

<img src='localImage1.png'> 

이 될 것입니다 CSS 파일 및 JavaScript 파일과 동일합니다. 일반적으로 임의의 웹 페이지를 정확하게 미러링하는 것은 어렵습니다. 브라우저는 CSS와 자바 스크립트를 처리해야하기 때문에 웹 페이지를 해석하는 데 사용하는 복잡한 객체 모델을 가지고 있으며 동적 인 모든 코드를 '실행할'수 있어야합니다. 서버에서 다운로드 할 파일 (예 : 다른 JavaScript 등의 JavaScript)을 확인하십시오.

+0

대단히 감사합니다! –

관련 문제