Sto lavorando su consumando un'API REST e sto usando l'autenticazione di base dove password è codificato in Base64 come segueCome acquisire un token di risposta inviato da un'API REST dopo una richiesta?
private XmlDocument sendXMLRequest(string requestXml)
{
string destinationUrl = "https://serviceapi.testgroup.com/testtp/query";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(destinationUrl);
request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("API_TEST_NR:Testnol1$"));
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(requestXml);
request.Method = "POST";
request.ContentLength = bytes.Length;
//request.Connection = "keep-alive";
request.ContentType = "text/xml";
request.KeepAlive = true;
request.Timeout = 2000;
request.MediaType = "text/xml";
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
Stream responseStream;
using (response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode == HttpStatusCode.OK)
{
responseStream = response.GetResponseStream();
XmlReader reader = new XmlTextReader(responseStream);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(reader);
try { reader.Close(); }
catch { }
try { responseStream.Close(); }
catch { }
try { response.Close(); }
catch { }
return xmlDoc;
}
}
try { response.Close(); }
catch { }
return null;
}
Sono una specie di nuovo a lavorare sul Web API e so che l'API risponde con un token X di accesso dopo l'autorizzazione riuscita basata sulla documentazione API e non sono sicuro di come accedervi o catturarlo dalle intestazioni HTTP.
Posso conoscere un buon metodo per raggiungerlo?
Ho già ricevuto la risposta. Grazie!! – DoIt
Perché l'OP deve "provare questo"? Una buona risposta avrà sempre una spiegazione di cosa è stato fatto e perché è stato fatto in quel modo, non solo per l'OP ma per i futuri visitatori di SO. –