اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

أتصور أنّه لن ينجح استخدام HttpWebRequest وأشباهه دومًا. وغالبًا ستعاني من بعض الصداع نتيجة ذلك :).

أنصحك باستخدام المكوّن WebBrowser فهو الأفضل والأسلم، وهو ينجح دومًا. سيعمل هذا المكوّن على التعامل مع الموقع الذي ترغبه كما يتعامل أيّ متصفّح آخر مع ذلك الموقع، حيث يمكنك عند تحميل صفحة تسجيل الدخول، الوصول إلى مربعات النص الخاصة باسم المستخدم وكلمة المرور، فتعمل على تزويدها بهذه البيانات ثم تنقر زر تسجيل الدخول برمجيًّا!

انظر إلى الشيفرة التالي بلغة سي شارب والتي يمكن تعديلها بسهولة إلى لغة vb.net لتتوضّح لك الفكرة:

private void Form1_Load(object sender, EventArgs e)
{
    webBrowser1.Navigate("https://mostaql.com/auth");

}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if(e.Url.AbsoluteUri != "https://mostaql.com/auth")
    {
        return;
    }

    HtmlElement userNameElement = webBrowser1.Document.GetElementById("identity");
    HtmlElement passwordElement = webBrowser1.Document.GetElementById("password");
    HtmlElementCollection buttons = webBrowser1.Document.GetElementsByTagName("button");

    userNameElement.InnerText = "*******";
    passwordElement.InnerText = "*****";

    for(int i = 0; i < buttons.Count; i++)
    {
        var button = buttons[i];

        if( button.InnerText.Trim() == "تسجيل دخول")
        {
            button.InvokeMember("click");
            break;
        }
    }
}

يحوي المقطع السابق الشيفرة البرمجيّة اللازمة لتسجيل الدخول إلى موقع مستقل حيث يمكنك أن تعالج مستند HTML وعناصره بالطريقة التي تناسبك، فقط عليك أن تعرف معرّفات أو أنواع العناصر التي لديك في المستند والتي يمكن الحصول عليها بسهولة من خلال أدوات التطوير البرمجي الموجودة في المتصفحات.

لا يعني ذلك أنّك لا تستطيع تنفيذ ذلك باستخدام HttpWebRequest ولكن أتصوّر أنّ طريقتي أيسر. على العموم يمكنك الإطلاع على المزيد حول هذا الموضوع من الرابطين التاليين:

[Dev Tutorial] WebBrowser - Web Scraping

Multi Threaded WebScraping in C#

  • 0
نشر

كلامك صحيح. إذًا أنصحك أن تجرب الطريقة الموجودة ضمن هذا الملف:

https://github.com/Muhammad-Khalifa/Free-Snipping-Tool/blob/master/Free Snipping Tool/Operations/UploadToSuar.cs

إذا أردت المزيد من المعلومات يمكنك مراجعة الصفحة التالية:

https://io.hsoub.com/webdev/43269-فتح-الشيفرة-المصدرية-لـ-suar-me-snipping-tool

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...