【问题标题】:BufferedReader ignoring \r\n when reading html page?BufferedReader 在读取 html 页面时忽略 \r\n?
【发布时间】:2013-01-29 11:55:36
【问题描述】:

我使用 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() 来读取所有内容。

【问题讨论】:

    标签: java php html bufferedreader plaintext


    【解决方案1】:

    有几个问题:

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

    只需替换

    echo '\\r\\n';
    

    echo "\r\n";
    

    【讨论】:

      【解决方案2】:

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

      echo "\r\n";
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-24
        • 1970-01-01
        • 2015-07-21
        • 1970-01-01
        • 1970-01-01
        • 2019-12-22
        • 1970-01-01
        相关资源
        最近更新 更多