그래서 콘텐츠 유형으로 application/x-www-form-urlencoded를 사용하여 HTTPWebRequest를 보냈습니다. 이것은 응답이 비슷한 유형으로 반환된다는 것을 의미한다고 가정합니다. (편집 : 지금은이 사실이 아니라고 들었습니다)application/x-www-form-urlencoded를 사용하는 HTTPWebResponse
내 질문은 이것입니다. 응답에서 반환 된 다른 키/값 쌍에 어떻게 액세스합니까? 내 코드는 지금까지 이렇게 보입니다. 당연히 문자열을 읽을 수는 있지만 반드시 문자열을 분리하는 것 이외의 다른 방법으로 데이터에 액세스하는 것이 더 좋습니다.
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 개의 다른 정보가 있다고 가정하면 어떻게 읽을 수 있습니까?
편집 : 방금 확인한 데이터가 text/plain으로 반환됩니다. 어떻게 이것을 쉽게 처리 할 수 있습니까?
편집 : 회에서는 StreamReader 통해 검색 응답 문자열 :
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());
}
서버는 요청 내용 유형이 무엇이든 관계없이 모든 것을 반환 할 수 있습니다. – Esailija
응답을 어떻게 보이는지 보여 주겠다. 콘텐츠 유형은 내용 (XML, CSV, JSON 등)을 정확하게 알려주지 않습니다. – tpeczek
OP에서 응답을 보였습니다. 내가 생각하지 않는 원래 응답이 없습니다. 나는 어쨌든 응답 객체에서 그것을 찾지 못했습니다. – CSharpened