تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] احتاج مساعدة في نسخ مواضيع المنتدى
#35
السلام عليكم ورحمة الله وبركاته

(11-10-13, 05:17 PM)سعود كتب : خلاص اخواني فهمت الطريقة لكن فيه غموض وهو المثال الي حملت كان فيه تكرار للسطر
كود :
Req.Headers.Add("cookie", "mybb[lastvisit]=1381408914; mybb[lastactive]=1381409606; loginattempts=1; mybb[announcements]=0; mybbuser=محذوف; sid=محذوف")

وهنا

كود :
client.Headers.Add("cookie", "mybb[lastvisit]=1381408914; mybb[lastactive]=1381409606; loginattempts=1; mybb[announcements]=0; mybbuser=محذوف; sid=محذوف")

يعني مهو لازم تحميل الاداة المذكورة هنا:
إقتباس :بعد ذلك قم بتنزيل الملحق Tamper Data

بالنسبة للسطر الأول استعملناه لكي نعرف اسم الملف المطلوب تحميله
أما الثاني فهو لتنزيل الملف

أما بالنسبة للملحق Tamper Data فهذا الملحق أنا استعملته لكي أعرف الكوكيز ولكن تبين أن هناك طريقة أخرى لا تحتاج إلى هذا الملحق وهي التي ذكرها أخي أبورائد في المشاركة التالية


وللتنبيه هذا الملحق ليس له أي علاقة بالفيجوال ستوديو ولا نحتاجه - إذا أحببت استخدامه - بعد ذلك أبدا



(11-10-13, 06:56 PM)سعود كتب : تحميل المواضيع والمرفقات وتعديل رابط المرفق بالموضوع
هل يمكن عمل ذلك بمسار واحد

يعني يبدا بالمواضيع وقبل الانتقال لموضوع تالي يفحص هل يوجد مرفق ام لا
وقد كتب الاخ ابورائد كود:
كود :
Dim htmlString = WebBrowser1.DocumentText
        Dim i1 As Integer = htmlString.IndexOf("attachment.php?aid=")
        Dim attachmentURL As String = "http://vb4arb.com/vb/" & htmlString.Substring(i1, htmlString.IndexOf("""", i1) - i1)
        i1 = htmlString.IndexOf(">", i1) + 1
        Dim i2 As Integer = htmlString.IndexOf("<", i1)
        Dim attachmentFilename As String = htmlString.Substring(i1, i2 - i1)
        ' MsgBox(attachmentURL)
        MsgBox(attachmentFilename)

وهو يعمل بمثال مستقل لكن لما اضفته للمثال اللي عندي استغربت ماحدث!!!

طيب اخواني الان اعمل على دمج النوعين نسخ الصفحات وتحميل المرفقات لكن اريد فهم السطور التالية:
كود :
Dim FileName As String = Res.Headers("Content-Disposition")
            If InStr(FileName, "filename") Then FileName = Strings.Right(FileName, FileName.Length - InStr(FileName, "=")) Else FileName = ""
            FileName = Replace(FileName, """", "")


ياليت شرح مفصل لها

نعم تستطيع استخدام هذه الطريقة أيضا في معرفة اسم الملف وبالتالي الاستغناء عن طريقة معرفة اسم الملف التي ذكرتها في مثالي السابق...

أما بالنسبة للسطور الثلاثة فالصفحة عندما استدعيناها يكون فيها Headers تحتوي على مفاتيح وكل مفتاح له قيمة منها على سبيل المثال :
Cookies و Content-Type و Content-Length ... وهكذا
فالمفتاح Content-Disposition يحتوي على معلومات المرفق ومنه نعرف اسم الملف فهو مثلا للمرفق رقم 304:

كود :
attachment; filename="SaveAttachment.zip"

وبالتالي فالسطرين الثاني والثالث هما لاستخراج اسم المرفق فقط
الرد }}}
تم الشكر بواسطة: سعود , @@أبورائد@@


الردود في هذا الموضوع
RE: احتاج مساعدة في نسخ مواضيع المنتدى - بواسطة sooriaty03 - 11-10-13, 08:49 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم