0

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

出于某种原因,BufferedReader 正在读取我响应为 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

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

echo "\r\n";

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

于 2013-02-13T20:01:42.980 回答
2

有几个问题:

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

只需更换

echo '\\r\\n';

echo "\r\n";
于 2013-02-13T20:02:08.400 回答