아래 코드는 내 코드입니다. 이 코드에서는 Java 소켓을 사용하여 HTML 텍스트를 특정 포트 (이 경우 8900)로 보냅니다. Java 소켓을 통해 전송 된 HTML 컨텐츠에 액세스하려면 로컬 브라우저에서 URL http://localhost:8900/
을 사용하십시오. 문제는 크롬과 인터넷 익스플로러가 HTML 텍스트를 멋지게 렌더링하는 동안 모질라는 HTML 컨텐트 전체를 간단한 텍스트로 보여주고 있다는 것입니다. 그것에 대한 해결책이 있습니까?html 콘텐츠가 mozilla에서 일반 텍스트로 표시되는 반면 크롬과 ie는 멋지게 표시됩니다.
import java.net.*;
import java.io.*;
class Proxy
{
public static void main(String args[])
{
try
{
ServerSocket svr = new ServerSocket(8900);
System.out.println("waiting for request");
Socket s = svr.accept();
System.out.println("got a request");
InputStream in = s.getInputStream();
OutputStream out = s.getOutputStream();
FileOutputStream fout = new FileOutputStream("d:\\q.txt");
int x;
byte data[]= new byte[1024];
x = in.read(data);
fout.write(data,0,x);
fout.flush();
fout.close();
String response = "<html><head><title>HTML content via java socket</title></head><body><h2>Hi! Every Body.</h2></body></html>";
out.write(response.getBytes());
out.flush();
s.close();
svr.close();
System.out.println("closing all");
}
catch(Exception ex)
{
System.out.println("Err : " + ex);
}
}
}
확실하지 않지만 보안 문제가있을 수 있습니다. localhost에서 항목을로드 할 때 Firefox가 다른 브라우저보다 더 많은 규칙을 적용한다는 것을 경험했습니다. 필자의 경우'@ font-face' 글꼴 로딩 (CSS)은 localhost의 Firefox에서는 작동하지 않지만 다른 모든 브라우저에서는 작동하지 않습니다. –