次のコードを参照してください。
objCookieContainer = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://website.com/login.php?user=xxx&pass=xxx");
request.Method = WebRequestMethods.Http.Get;
request.Timeout = 15000;
request.Proxy = null;
request.CookieContainer = objCookieContainer;
HttpWebRequest newRequest = (HttpWebRequest)WebRequest.Create("http://website.com/page.php?link=url");
newRequest.Method = WebRequestMethods.Http.Get;
newRequest.Timeout = 15000;
newRequest.Proxy = null;
newRequest.CookieContainer = objCookieContainer;
HttpWebResponse response = null;
response = (HttpWebResponse)request.GetResponse();
string readerRequest = new StreamReader(response.GetResponseStream(), Encoding.UTF8).ReadToEnd();
response = (HttpWebResponse)newRequest.GetResponse();
string readerNewRequest = new StreamReader(response.GetResponseStream()).ReadToEnd();
request.GetResponse() を使用した後、Cookie にデータが正常に取り込まれ、認証コードがあり、readerRequest も取り込まれます。その後、newRequest.GetResponse() を呼び出しますが、readerNewRequest は空です。多くのことですが、常に同じ結果です。これを解決した唯一の方法は、URL を渡す WebBrowser オブジェクトを使用することであり、WebBrowser.DocumentStream を使用してコンテンツを取得できました。
どうすればこれを解決できますか?