2013-02-13 1 views
0

Я использую HTTP-клиент Apache для отправки запроса POST на страницу, затем я читаю ответ с помощью BufferedReader.BufferedReader игнорирует r n при чтении html-страницы?

По какой-то причине 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 не ищет escape-последовательности, кроме \' и \\.
  • Вы избегаете самих обратных косых черт, что заставляет PHP эхо-литеральную обратную косую черту. Единственная обратная косая черта - это все, что вам нужно.

Просто замените

echo '\\r\\n'; 

с

echo "\r\n"; 
2

Да. Они не будут интерпретироваться как новые персонажи линий, когда они находятся в одинарных кавычках. Они будут интерпретироваться буквально как \r\n. Вместо этого используйте двойные кавычки.

echo "\r\n"; 

Экранирующие последовательности действительны только в двойных кавычках.

 Смежные вопросы

  • Нет связанных вопросов^_^