2014-09-10 4 views
0

Я хочу анализировать каждую строку из ответа PHP. Я пробовал:C# чтение строки за строкой из ответа PHP POST

PHP:

echo "Line 1\n"; 
echo "Line 2\n"; 
echo "Line 3\n"; 

C#

var response = (HttpWebResponse)request.GetResponse(); 
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); 
client.addLine(responseString); 

Я получаю каждый эхо в каждой строке, но я не могу использовать его, чтобы обработать его отдельно.

когда я

C#

var response = (HttpWebResponse)request.GetResponse(); 
var responseString = new StreamReader(response.GetResponseStream()).ReadLine(); 
do 
{ 
    client.addLine(responseString); 
    responseString = new StreamReader(response.GetResponseStream()).ReadLine(); 
} while (responseString != null); 

я получаю только первую строку и каждый следующий цикл возвращает нуль. Как я могу получить каждую строку отдельно?

ответ

1

Возможно, из-за \n, окна используют \r\n в качестве терминатора линии. Попробуйте заменить \n «S с \r\n .И не создают читателя потока для каждой итерации

var reader = new StreamReader(response.GetResponseStream()); 
do 
{ 
    client.addLine(reader.ReadLine()); 

} while (!reader.EndOfStream); 
+0

Да, вы правы с «\ r \ n» + этот код отлично работает и даже короче моего. – Lucassith

0

Предполагая, вы контролируете вывод PHP, может быть проще использовать JSON для обмена данными между PHP и C#, если это возможно, в генерировании и разборе JSON намного проще.

+0

Спасибо за совет, но я предпочитаю PHP, поскольку мне это нужно только для подключения к базе данных. Все остальное, что я делаю на C#. Хотя я могу пересмотреть это позже. – Lucassith

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