Molto spesso all'interno delle nostre pagine dobbiamo far riferimento ad altre, ad esempio attraverso l'uso di WebClient, passando come riferimento un cookie, che ad esempio contiente l'ID di sessione piuttosto che il cookie di autenticazione.
In casi come questi si è portati ad utilizzare l'accoppiata WebRequest/WebResponse perchè, a prima vista, la classe WebClient non espone una proprietà diretta per associare cookie.
In realtà basta aggiungere alla collezioone Headers, che è di tipo WebHeaderCollection, il cookie stesso, come una normale header HTTP, che è poi quello che in fin dei conti è.
Il codice riportato non fa altro che trasmettere un cookie alla pagina remota:
<%@ Import namespace="System.Net" %>
<SCRIPT RUNAT="SERVER" LANGUAGE="C#">
void Page_Load() {
Response.Write(GetUrlWithCookie("http://www.sito.ext/login.aspx"));
}
string GetUrlWithCookie(string url) {
// WebClient
WebClient request = new WebClient();
// aggiungo cookie
WebHeaderCollection headerCookies = new WebHeaderCollection();
headerCookies.Add("Cookie", "cookie=valore");
request.Headers.Add(headerCookies);
// scarico risultato
Byte[] bResult = request.DownloadData(url);
// de-encoding dei dati e conversione in stringa
Encoding objEncoded = Encoding.GetEncoding("iso-8859-1");
return objEncoded.GetString(bResult);
}
</SCRIPT>Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Accedere a risorse e immagini in Windows Store app di Windows 8
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Permettere il Drag-and-drop solo su zone predefinite con Silverlight 2.0
- Consumare dati binari in realtime lato client con ASP.NET Core SignalR
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Personalizare l'icona e le funzionalità di un sito web per iOS e IE
- Caricamenti veloci da CDN e fallback locale con ASP.NET Core
- Utilizzare dati in formato XML in XAML
- Accedere a dati esposti con WebService con Silverlight 1.0


