0

Apache HTTPClientを使用してPOSTリクエストをページに送信し、BufferedReaderを使用してレスポンスを読み取ります。

何らかの理由で、BufferedReaderは私が応答する2行を1行として読み取っています。私の反応:

SUCCESS  
RANDOM STRING

これが私のPHPです:

header('Content-Type: text/plain');
echo 'SUCCESS';
echo '\\r\\n';
echo 'Random String';

バッファリングされたリーダーはただ印刷します

success\r\nRandom String

私は何か間違ったことをしていますか?私はすべてを読み取るためにループで通常のbr.readLine()を使用しました。

4

2 に答える 2

2

いくつかの問題があります:

  • エスケープシーケンスは、一重引用符ではなく、二重引用符で囲む必要があります。一重引用符で囲むと、PHPはとを除いてエスケープシーケンスを検索しませ\'\\
  • バックスラッシュ自体をエスケープしているため、PHPはリテラルのバックスラッシュをエコーし​​ます。必要なのは1つの円記号だけです。

交換するだけ

echo '\\r\\n';

echo "\r\n";
于 2013-02-13T20:02:08.400 に答える
2

はい。単一引用符で囲まれている場合、改行文字として解釈されません。それらは文字通り として解釈され\r\nます。代わりに二重引用符を使用してください。

echo "\r\n";

エスケープ シーケンスは、二重引用符でのみ有効です。

于 2013-02-13T20:01:42.980 に答える