BufferedReader在读取html页面时忽略\ r \ n?

时间:2013-02-13 19:59:22

标签: java php html bufferedreader plaintext

我正在使用Apache HTTPClient向页面发送POST请求,然后使用BufferedReader读取响应。

由于某种原因,BufferedReader正在读取我回复的两行作为1行。我的回答:

SUCCESS  
RANDOM STRING

这是我的PHP:

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

Buffered Reader只打印出

success\r\nRandom String

我做错了吗?我使用正常的br.readLine()和循环来读取所有内容。

2 个答案:

答案 0 :(得分:2)

是。当它们用单引号时,它们不会被解释为换行符。它们将按字面解释为\r\n。改为使用双引号。

echo "\r\n";

转义序列仅在双引号中有效。

答案 1 :(得分:2)

有几个问题:

  • 转义序列必须是双引号,而不是单引号。在单引号中,除了\'\\之外,PHP不会查找转义序列。
  • 你正在逃避反斜杠本身,这会导致PHP回显文字反斜杠。只需一个反斜杠即可。

只需替换

echo '\\r\\n';

echo "\r\n";