所以我使用 application/x-www-form-urlencoded 作为我的内容类型发送了一个 HTTPWebRequest。我认为这意味着响应将以类似的类型返回?(编辑:现在被告知情况并非如此)
我的问题是这个。如何访问响应中返回的不同键/值对。到目前为止,我的代码看起来像这样。我当然可以读取字符串,但肯定有更好的方法来访问数据,而不是将字符串撕开。
HttpWebResponse response = SendPOSTRequest("https://site/page?Service=foo", content.ToString(), "", "", true);
string responseCode = response.StatusCode.ToString();
string responseStatusDescription = response.StatusDescription;
StreamReader sr = new StreamReader(response.GetResponseStream());
string result = sr.ReadToEnd();
我尝试使用 XML/linq 将元素读入 XDocument,但当然它不会以 XML 形式返回。
假设我有 3 或 4 条不同的信息,我怎么能读出它们?
编辑:我刚刚检查过,数据以文本/纯文本形式返回。如何轻松处理?
编辑:通过流读取器检索到的响应字符串是:
VPSProtocol=2.23
Status=OK
StatusDetail=Server transaction registered successfully.
VPSTxId={FDC93F3D-FC64-400D-875F-0B7E855AD81F}
SecurityKey=*****
NextURL=https://foo.com/PaymentPage.asp?TransactionID={875F-0B7E855AD81F}
编辑:似乎这段代码让我在那儿走得更远。我能够将响应分解为一个列表并逐行处理它。虽然它仍然不是一个完美的解决方案。
StreamReader sr = new StreamReader(response.GetResponseStream());
List<string> str = new List<string>;
while (sr.Peek() >= 0)
{
str.Add(sr.ReadLine().ToString());
}