0

Cookie を追加して http Web サイト ソースを取得したい コードに Cookie を追加する方法と、Web サイトが Cookie を読み取るときに getresponse() を実行する方法を教えてください。

enter code here
WebRequest scienceRequest = WebRequest.Create("http://www.google.com");       
WebResponse scienceResponse = scienceRequest.GetResponse();
Stream ReceiveStream = scienceResponse.GetResponseStream();
scienceResponse = scienceRequest.GetResponse();
ReceiveStream = scienceResponse.GetResponseStream();
StreamReader readStream = new StreamReader(ReceiveStream, encode);
string strResponse = readStream.ReadToEnd();
readStream.Close();
scienceResponse.Close();
4

2 に答える 2

0

私はこれを見つけまし

private void ReadCallback(IAsyncResult asynchronousResult)
{
    HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
    HttpWebResponse response = (HttpWebResponse)
        request.EndGetResponse(asynchronousResult);
    using (IsolatedStorageFile isf =
        IsolatedStorageFile.GetUserStoreForSite())
    {
        using (IsolatedStorageFileStream isfs = isf.OpenFile("CookieExCookies",
            FileMode.OpenOrCreate, FileAccess.Write))
        {
            using (StreamWriter sw = new StreamWriter(isfs))
            {
                foreach (Cookie cookieValue in response.Cookies)
                {
                    sw.WriteLine("Cookie: " + cookieValue.ToString());
                }
                sw.Close();
            }
        }

    }
}
于 2012-10-26T19:16:32.183 に答える
0

これには aCookieContainerを使用できます。を使用して作成できます

CookieContainer cookieJar = new CookieContainer();
// Optionally add some values to the container
cookieJar.Add(new Uri("http://www.domain.com"), new Cookie("name", "Raeled"));

その後、コンテナーをリクエストにアタッチできます (同じ Cookie を使用し続けるために、これを何度も行うことができます)。

(scienceRequest as HttpWebRequest).CookieContainer = cookieJar;

Web ページはコンテナ内の Cookie を使用し、必要に応じて変更します。ウェブページがそれらを変更した場合、次を使用してそれらを読み取ることができます。

CookieCollection collection = cookieJar.GetCookies(new Uri("http://www.domain.com"));
string myValue = collection["name"].Value;

取得または設定するには、URI を提供する必要があります。これは、CookieContainer が異なるドメインの Cookie を単一のCookieContainer.

于 2012-10-26T19:17:21.927 に答える