2013-02-13 33 views
0

我正在使用Apache HTTPClient向頁面發送POST請求,然後使用BufferedReader讀取響應。BufferedReader在閱讀html頁面時忽略 r n?

由於某些原因,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()和一個循環來讀取所有內容。

回答

2

有幾個問題:

  • 轉義序列必須用雙引號,而不是單引號。在單引號中,除\'\\之外,PHP不查找轉義序列。
  • 你正在逃避反斜槓本身,這導致PHP回顯文字反斜槓。一個反斜槓就是你所需要的。

只需更換

echo '\\r\\n'; 

echo "\r\n"; 
2

是的。當他們使用單引號時,它們不會被解釋爲新行字符。他們將被解釋爲字面上的\r\n。改用雙引號。

echo "\r\n"; 

轉義序列只在雙引號中有效。