2

このメッセージエンティティ本文をクライアントに送信しようとしています。しかし、このメッセージは送信されていないようです。その結果、このような状況になる可能性のある理由は何ですか?文字列メッセージ

String message = "HTTP/1.0 404 Not Found\r\n" +
                  "Server: " + 
                 "Content-type: html" +
                 "error\r\n" +
                 "<HTML>" +
                 "<HEAD><TITLE>404</TITLE></HEAD>" +
                 "<BODY>404 Not Found" +
                 "<br> nothing </BODY></HTML>" ;

次に、PrintStream instaceを使用してメッセージを送信しましたが、その引数は次のとおりです。message.getBytes()

htmlメッセージはブラウザに表示されません。

  PrintStream sender = new PrintStream(this.socket.getOutputStream());

  String message = // above lines

  sender.write(message.getBytes())
4

1 に答える 1

1

このデータをrawソケット経由で送信していると仮定すると、以下を修正する必要があります。

  • 各ヘッダーの後にCRLF(キャリッジリターン、ラインフィード)が必要です。
  • ヘッダーフィールドには、「:」文字を含めないでください。
  • Content-typeである必要がありContent-Type、名前の付いた標準ヘッダーはありませんerror(送信するカスタムヘッダーでない限り、削除してください)。
  • htmlは有効なコンテンツタイプではありません。試してくださいtext/html
于 2013-03-26T10:41:35.370 に答える