Поэтому я отправил HTTPWebRequest, используя application/x-www-form-urlencoded в качестве типа контента. Я предполагаю, что это означает, что ответ будет возвращен в аналогичном типе? (РЕДАКТИРОВАТЬ: теперь сказали, что это не так)
Мой вопрос заключается в следующем. Как получить доступ к различным парам ключ/значение, возвращаемым в ответе. Мой код пока выглядит так. Я, конечно, могу прочитать строку, но, безусловно, есть лучший способ получить доступ к данным, кроме разрыва строки на части.
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());
}