اخواني اخواتي .. السلام عليكم ورحمة الله وبركاته
ارجو ان تدلوني على طريقة انسخ كافة المواضيع الموجودة الان بالمنتدى عن طريق فيجوال بيسك.
الرابط الثابت كما تعلمون هو
http://vb4arb.com/vb/showthread.php?tid=?
فاريد معرفة الاتي:
كيف اعرف رقم احدث موضوع بالكود؟
كيف اتحقق ان الرابط ليس خطا؟
كيف انسخ المحتوى الى قاعدة بيانات محلية؟
القصد ان اكون معكم سببا في العودة بالمواضيع في حال حدث شيء ما مستقبلا.
السلام عليكم ورحمة الله وبركاته
إيش رأيك بالحيلة دي
كود :
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If GetHtml("http://vb4arb.com/vb/showthread.php?tid=?").Contains("المشاركة التي حددتها غير موجودة") Then
MsgBox("المشاركة التي حددتها غير موجودة")
End If
End Sub
' مصدر الصفحة
#Region " GetHtml As String "
Public Function GetHtml(ByVal Url As String) As String
Try
If Not Url.ToLower().StartsWith("http://") Then Url = "http://" & Url
Dim HttpWebRequest As Net.HttpWebRequest = DirectCast(Net.HttpWebRequest.Create(Url), Net.HttpWebRequest)
Dim Response As Net.WebResponse = HttpWebRequest.GetResponse()
Dim WebStream As IO.Stream = Response.GetResponseStream()
Dim Reader As New IO.StreamReader(WebStream)
Dim html As String = Reader.ReadToEnd()
Reader.Close()
WebStream.Close()
Response.Close()
Return html
Catch ex As Exception
Return Nothing
End Try
End Function
#End Region
End Class
السلام عليكم ورحمة الله وبركاته
بارك الله فيك اخي ابورايد
كتبت كود قبل ان اقرا ردك وهو كالتالي:
كود :
Try
Dim a As Integer = CInt(mxn.Text)
Do Until bgw1.CancellationPending = True Or a = 0
Dim client As New Net.WebClient
client.Encoding = System.Text.Encoding.Default
Dim Page As String = client.DownloadString(st & a)
p1.Value = a
If Page.Contains(mistake.Text) = False Then
My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\threads\thread_" & a & ".htm", Page, False)
End If
a -= 1
Loop
Catch ex As Exception
bgw1.CancelAsync()
MsgBox(Err.Description, MsgBoxStyle.Critical, "")
End Try
المتغير a هو قيمة اعلى رقم لان الفحص تنازلي حتى صفر
وفعلا حفظ بصيغة اتش ام ال
لكن الترميز غير مفهوم
قد تكون هذه الطريقة من غير مرفقات او فيها خلل
ماهي نصيحتك هل الكود الذي كتبت يحمل كافة المرفقات؟
من ناحية الترميز ضبطت بهذه الاضافة
كود :
encoding:=System.Text.Encoding.Default
هل توجد حيلة للمرفقات والصور؟؟؟
وش رايكم بالصفحات اللي حفظتها
threads.zip
السلام عليكم ورحمة الله وبركاته
ارتباط الملف الذي طلبته غير صالح.
threads.zip
السلام عليكم ورحمة الله وبركاته
السلام عليكم ورحمة الله وبركاته
جربت هذه الطريقة بعد نسخ رابط المرفق، ولكن كانت النتيجة أنه يحمل محتوى صفحة (لم تقم بتسجيل دخولك أو ليس لديك الصلاحية لدخول هذه الصفحة)
كود :
Dim client As New Net.WebClient
client.Credentials = New System.Net.NetworkCredential("UserName", "Password", "http://vb4arb.com/vb/")
Dim a() As Byte = client.DownloadData("http://vb4arb.com/vb/attachment.php?aid=298")
IO.File.WriteAllBytes("a.zip", a)
السلام عليكم ورحمة الله وبركاته
وجدت كود يحفظ الصفحة بكاملها الا ان المرفق بصفحة مستقلة لذلك لم يحفظها
الكود التالي يتطلب مصدرين:
microsoft activex data object liberary
microsoft cdo for windows 2000 liberary
ثم الاستدعاءات
كود :
Imports ADODB
Imports CDO
ثم الروتين التالي
كود :
Public Sub SavePage(ByVal Url As String, ByVal FilePath As String)
Dim iMessage As CDO.Message = New CDO.Message
iMessage.CreateMHTMLBody(Url, _
CDO.CdoMHTMLFlags.cdoSuppressNone, "", "")
Dim adodbstream As ADODB.Stream = New ADODB.Stream
adodbstream.Type = ADODB.StreamTypeEnum.adTypeText
adodbstream.Charset = "US-ASCII"
adodbstream.Open()
iMessage.DataSource.SaveToObject(adodbstream, "_Stream")
adodbstream.SaveToFile(FilePath, _
ADODB.SaveOptionsEnum.adSaveCreateOverWrite)
End Sub
نسيت اقول ان الصيغة التي يحفظ بها هي mht
كود :
Dim a() As Byte = client.DownloadData("http://vb4arb.com/vb/attachment.php?aid=298")
IO.File.WriteAllBytes("a.zip", a)
جربت الكود هذا لكن باستخدام My.Computer.FileSystem.WriteAllBytes
لكن حين احاول فتح الملف المضغوط بيقول خطا!!
كيف نعرف الامتداد الحقيقي للمرفق؟
فعلا حدث معي مثل ماقلت بعد ان حفظت المرفق كصفحة اتش ام ال
السلام عليكم ورحمة الله وبركاته
يجب تمرير اسم المستخدم وكلمة المرور في حال أردت أن تحفظ المرفقات
(10-10-13, 05:24 PM)sooriaty03 كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
يجب تمرير اسم المستخدم وكلمة المرور في حال أردت أن تحفظ المرفقات
اهلا بيك اخوي
فعلا طبقنا الطريقة لكن الملف اللي ينحفظ محتواه عدم التصريح
لكن فيه مشكلة وهي الامتداد كيف نعرف الامتداد؟؟؟؟