現有頁面我已經使用這個代碼如何執行網址或超鏈接不留使用asp.net
WebClient webClient = new WebClient();
byte[] reqHTML;
reqHTML = webClient.DownloadData(url);
執行的URL。在這裏,我有一個問題,而使用此代碼,無論是否設置cookie?
現有頁面我已經使用這個代碼如何執行網址或超鏈接不留使用asp.net
WebClient webClient = new WebClient();
byte[] reqHTML;
reqHTML = webClient.DownloadData(url);
執行的URL。在這裏,我有一個問題,而使用此代碼,無論是否設置cookie?
如果您的意思是來自正在執行的ASP.NET頁面的cookie,那麼否:我很確定WebClient
在當前正在執行的Web請求中不會看到的所有 Cookie。
如果你想要這個功能,你可以使用瀏覽器的AJAX嗎?也許通過jQuery?這應該按照標準瀏覽器規則來傳遞上下文等。
或者,您將不得不親自處理這些cookie(即將它們複製到WebClient
中,如果需要,請將其復原)。
cookie默認情況下不會通過WebClient發送。你雖然可以寫你的實現,使用cookie container:
public class CookieAwareWebClient : WebClient
{
private CookieContainer _container = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request is HttpWebRequest)
((HttpWebRequest)request).CookieContainer = _container;
return request;
}
}