簡體   English   中英

C#從PHP POST響應逐行讀取

[英]C# read line by line from PHP POST response

我想解析PHP響應中的每一行。 我試過了:

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);

我只得到第一行,每個下一個循環都返回null。 如何分別獲得每一行?

可能是因為\\n ,Windows使用\\r\\n作為行終止符。 嘗試將\\n替換為\\r\\n ,並且不要為每次迭代創建流閱讀器

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

}  while (!reader.EndOfStream);

假設您控制php的輸出,如果可能的話,使用JSON在php和C#之間進行通信可能會更容易,因為生成和解析JSON更加簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM