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

ملحوظة جميلة جدا جدا

ما شاء الله عليك يا أخي أبورائد
دائما تترك أثرا جميلا في مشاركاتك
وهذا يدل على حبك لنشر العلم والفائدة

الله يحميك ويحفظك ويزيدك من علمه
الرد }}}
تم الشكر بواسطة: @@أبورائد@@ , سعود
#32
ماشاء الله تبارك الله
هل يمكن تصوير تطبيق المقال بفيديو؟
على فكرة انتم ماقصرتوا واسال الله ان يوفقكم لكل خير.....القصور عندي والله المستعان.

خلاص اخواني فهمت الطريقة لكن فيه غموض وهو المثال الي حملت كان فيه تكرار للسطر
كود :
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
الرد }}}
تم الشكر بواسطة: @@أبورائد@@
#33
تحميل المواضيع والمرفقات وتعديل رابط المرفق بالموضوع
هل يمكن عمل ذلك بمسار واحد

يعني يبدا بالمواضيع وقبل الانتقال لموضوع تالي يفحص هل يوجد مرفق ام لا
وقد كتب الاخ ابورائد كود:
كود :
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, """", "")


ياليت شرح مفصل لها
الرد }}}
تم الشكر بواسطة: @@أبورائد@@
#34
طيب اخواني الكرام
طبقت المثال وكان رائع
لكن الامنية عندي ان اعرف المرفق لاي موضوع؟
لان مش معقول يكون عندي صفحات للمواضيع وروابط المرفقات للموقع vb4arb.com وليس للمرفق الذي تم تحميله
الرد }}}
تم الشكر بواسطة: @@أبورائد@@ , aftfm
#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"

وبالتالي فالسطرين الثاني والثالث هما لاستخراج اسم المرفق فقط
الرد }}}
تم الشكر بواسطة: سعود , @@أبورائد@@
#36
بارك الله فيك
طيب بالنسبة لو الموضوع فيه مرفق اريد التحقق منه كيف؟ بالنسبة للردود يصعب عليها تعقبها لكن مرفقاتها يتم تحميلها ووضعها مع مجلد مستقل لكني افضل تحميل مرفقات المواضيع في نفس مجلد المواضيع فكيف امسح الارتباط لملف attachment.php واحوله الى اسم الملف المرفق بالمجلد الحالي؟

يعني مثلا هذا
كود :
<a href="attachment.php?aid=304" target="_blank">SaveAttachment.zip</a>
كيف احذف
كود :
"attachment.php?aid=304" target="_blank"
واضع بدلا منه اسم الملف
SaveAttachment.zip

اذا صار محتوى الصفحة مخزن في page
الرد }}}
تم الشكر بواسطة: @@أبورائد@@
#37
السلام عليكم ورحمة الله وبركاته



هذا المشروع يحتاج خطة عمل:


1: عمل مجلد باسم كل موضوع مع وضع رقمه بين قوسين إحتياطاً وبداخله مجلد الصور ومجلد المرفقات.

4: معرفة عدد الصفحات للموضوع الواحد.

5: استخراج جميع بيانات المرفقات والصور من كل صفحة مع فهرستها في قاعدة بيانات بحيث كل اسم مرفق أو صورة يقابله رقمه في المنتدى.

6: عمل ملف html للموضوع في مجلد ويستحسن دمج الصفحات في صفحة واحدة.

7: وضع صور الموضوع ومرفقاته في مجلديهم من خلال الفهرس الذي في قاعدة البيانات مع وضع أرقامهم مع اسمائهم بين قوسين.

8: استبدال روابط صور الموضوع والمرفقات في html إلى مسارها في مجلدي الصور والمرفقات.


هذا مجرد اجتهاد لتصور ناتج المشروع.


ملاحظة:

قد ذكرت أن يتم إضافة أرقام المواضيع والصور زالمرفقات مع أسمائهم بين قوسين وذلك لسبب تلافي تشابه الاسماء.

حيث من الممكن أن تجد مرفقين أو صورتين بنفس الاسم والذي يميز بينهم هو رقم id الخاص بكل موضوع أو صورة أو ملف.


السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة: sooriaty03 , سعود
#38
بارك الله بيك اخي
لكن الذي اريده ابسط بكثير وهو عند تحميل او نسخ محتوى الصفحة قبل الانتقال يفحص هل الموضوع يحوي كلمة attachment.php?aid=
فان كان نعم يحملها لنفس مجلد صفحات المواضيع اما الصفحات الاخرى فهي بالغالب نقاشات يعني نحن الان نناقش قضية بعد الانتهاء منها باذن الله اكتب موضوع بمرفق او رابط للمشروع ,,, واحب ان استغل الفرصة لاقترح ان الرد ان كان مفيدا ويحتوي مرفق ان يتم كتابته بموضوع مستقل لتعم الفائدة.
اسال الله ان يبارك فيكم وان يوفقكم لكل خير

الخطوة الاولى نفذتها وهي تفحص الصفحة هل تحتوي مرفق ام لا
الخطوة الاخرى تحتاج مخ قويSmile
وهي استبدال الارتباط بالصفحة الى الملف
وذكرت ذلك
http://vb4arb.com/vb/showthread.php?tid=...02#pid2302

الله يعين
الرد }}}
تم الشكر بواسطة: @@أبورائد@@
#39
السلام عليكم ورحمة الله وبركاته

الاستبدال ما هو مشكلة ويكون عن طريق الامر Replace بعد معرفة مكان النص المطلوب في نص الصفحة


السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة:
#40
نعم صحيح لكن الاشكالية تكمن في ان النص المراد استبداله باخر يحتوي رقم متغير؟ مثل
كود :
aid="304"
الرد }}}
تم الشكر بواسطة:



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


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