سؤال

وكيف الدخول إلى صفحة ويب وجلب المحتوى في C #؟

هل كانت مفيدة؟

المحلول 4

string postData = "userid=ducon";
            postData += "&username=camarche" ;
            byte[] data = Encoding.ASCII.GetBytes(postData);
            WebRequest req = WebRequest.Create(
                URL);
            req.Method = "POST";
            req.ContentType = "application/x-www-form-urlencoded";
            req.ContentLength = data.Length;
            Stream newStream = req.GetRequestStream();
            newStream.Write(data, 0, data.Length);
            newStream.Close();
            StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream(), System.Text.Encoding.GetEncoding("iso-8859-1"));
            string coco = reader.ReadToEnd();

نصائح أخرى

وهذا يعتمد على ما هو مطلوب لتسجيل الدخول. هل يمكن استخدام webclient لإرسال بيانات اعتماد تسجيل الدخول إلى صفحة تسجيل الدخول للملقم (عبر أيا كانت الطريقة هو مطلوب، GET أو POST)، ولكن ذلك لن يستمر ارتباط. هناك للحصول على webclient للتعامل مع ملفات تعريف الارتباط، لذلك هل يمكن أن مجرد نشر معلومات دخولك إلى الخادم، ثم طلب الصفحة التي تريد بنفس webclient، ثم تفعل ما تريد مع الصفحة.

وانظروا System.Net.WebClient، أو لتلبية احتياجات أكثر تقدما System.Net.HttpWebRequest/System.Net.HttpWebResponse.

وأما بالنسبة للتطبيق في الواقع هذه: سيكون لديك لدراسة مصدر أتش تي أم أل كل صفحة تريد أن تتخلص من أجل معرفة بالضبط ما تطلب المتشعب انها تتوقع

وكيف يعني "الدخول"؟

إذا محمي فرعي على مستوى نظام التشغيل، والملوثات العضوية الثابتة المتصفح من مربع حوار تسجيل الدخول عند الذهاب إلى هناك، وسوف تحتاج إلى تعيين الخاصية ثائق التفويض على HttpWebRequest.

وإذا كان الموقع يحتوي انها نظام العضوية / تسجيل الدخول القائم على الكعكة الخاصة، سيكون لديك لاستخدام HttpWebRequest لأول رد إلى نموذج تسجيل الدخول.

ويمكنك استخدام البناء في كائن WebClient بدلا من الصناديق على طلب نفسك.

WebClient wc = new WebClient();
wc.Credentials = new NetworkCredential("username", "password");
string url = "http://foo.com";          
try
{
    using (Stream stream = wc.OpenRead(new Uri(url)))
    {
        using (StreamReader reader = new StreamReader(stream))
        {
            return reader.ReadToEnd();
             }
    }
}
catch (WebException e)
{
    //Error handeling
}

وجرب هذا:

public string GetContent(string url)  
{ 
  using (System.Net.WebClient client =new System.Net.WebClient()) 
  { 
  return client.DownloadString(url); 
  } 
} 
scroll top