2012-04-21 1 views
-1

나는 c 소켓을 사용하는 리눅스에서 http 프록시로 작업 중이다. 내가 사용하는 io 함수는 강력한 io 에 소개되었습니다. 컴퓨터 시스템 : 프로그래머 관점.http 프록시에서 png 또는 jpg를 전송하는 방법

이제 웹 페이지에 포함 된 jpg 또는 png 파트를 전송할 때를 제외하고는 모든 것이 잘 작동합니다. 사진이 나타나야하는 것은 항상 적십자입니다. 누군가 나를 도울 수 있거나 제안을 할 수 있습니까? 자세한 내용은 죄송합니다. http 프록시에서 작업 중입니다. 로직은 클라이언트가 IE 브라우저에서 웹 페이지 요청을 시작하면 프록시가 DNS 쿼리를 시작하고 서버에 동일한 요청을 보내고 응답을 보냅니다. 고객. 수신 및 회신 정보를 보내 매우 간단합니다 while((number = readnb(&rio,buf,n))>=0){ writen(fd,buf,number); } 결과는 웹 페이지에 jpg 또는 png가 있으면 브라우저에 아무 것도 표시되지 않고 Ctrl + C를 입력하여 프록시를 중지하고 브라우저에 문자 부분이 표시됩니다 웹 페이지에 JPG 또는 PNG가있는 경우와 jpg이 부분

+1

추가 정보를 제공해야합니다. 웹 브라우저 나 'curl'과 같은 명령 행 HTTP 클라이언트를 사용하여 PNG 또는 jpg [sic] (JPEG을 의미)를 다운로드하고 결과를 서버에있는 파일과 비교하십시오. 단서가 생길 수 있습니다. – Celada

+0

정확하게 이미지에 대한 직접 링크를 확인하십시오. –

답변

0

결과에 대한 적십자사가, 다음 브라우저 는 persistent HTTP connections를 지원하지 않는 것 소리 아무것도

표시되지 않습니다.

개별적으로 이미지에 액세스 할 수 있는지 확인하십시오.

+0

나는 keepalive에 연결을 설정하려고 노력했다. 도움이되지 않는다. 나는 www.yahoo.com을 방문하려고했는데, 똑같은 것으로 밝혀졌다. 그림 부분이 적색 십자가 인 동안 나는 프록시를 멈췄을 때를 제외하고 아무것도 보이지 않는다. 단어 부분은 괜찮다. 하지만 www.google.com과 같은 간단한 사이트를 방문하면 기념일 로고가 표시됩니다. 제안 사항. –

+0

1) 아니 클라이언트 쪽, 당신의 서버에 지원이 필요합니다 2) 직접 이미지 링크 작동합니까? –

+0

나는 웹 페이지의 그림을 확인했지만 그림 자체의 URL이 아닌 다른 페이지의 URL로 이동합니다. 이러한 이미지 요청을 찾기 위해 wireshark를 사용해야합니까? –

관련 문제