يرجى التعديل على الكود - dubai.eig - 18-01-17
السلام عليكم ورحمة الل
يسعد الله اوقاتكم
الكود محتاج مساعده وتعديل عليه جزاكم اله خيرا
عمل الكود هو
اول شي يقراء لي صفحة في النت html
ومن ثم اقوم بالبحث عن رابط في الصفحة
واذا موجود اللي ابحث عنه يقوم بانزال الملف في جهازي
عملية قراءة الموقع صحيحه وشغاله
وعملية البحث شغاله
باقي طيقة تنزيل الملف
هنا اقوم بقراءة الصفحة
كود :
Dim EQSLURL As String = "http://www.google.ae/"
'Panels1.Text = "Sending information request to eQSL Server"
Dim client As WebClient = New WebClient()
Application.DoEvents()
Dim data As System.IO.Stream = client.OpenRead(EQSLURL)
Application.DoEvents()
Dim reader As System.IO.StreamReader = New System.IO.StreamReader(data)
Dim ReturnStr As String = ""
ReturnStr = reader.ReadToEnd
من ثم اقوم بالبحث
كود :
If (Regex.IsMatch(ReturnStr, "downloadedfiles/.+?\.adi", RegexOptions.IgnoreCase)) Then
MessageBox.Show("found")
Else
MessageBox.Show("not found")
End If
اذا حصل downloadedfiles/.+?\.adi
يقوم بانزل الملف في جهازي
www.google.cc/qslcard/downloadedfiles/.+?\.adi
كود :
Using client = New WebClient()
client.DownloadFile("www.google.cc/qslcard/downloadedfiles/.+?\.adi", My.Application.Info.DirectoryPath")
End Using
يرجى المساعدة في تنزيل الملف
وشكرا
RE: يرجى التعديل على الكود - مساعدة - 18-01-17
السلام عليكم
تفضل تعديل الكود
كود :
Dim EQSLURL As String = "http://www.google.ae/"
Using client As New WebClient() With {.Encoding = System.Text.Encoding.UTF8}
Dim ReturnStr As String = client.DownloadString(EQSLURL)
Dim filename As String = Regex.Match(ReturnStr, "downloadedfiles/.+?\.adi", RegexOptions.IgnoreCase).Value
If filename <> "" Then
Dim data() As Byte = client.DownloadData(EQSLURL & "/qslcard/" & filename)
IO.File.WriteAllBytes(IO.Path.GetFileName(filename), data)
MessageBox.Show("found: " & filename)
Else
MessageBox.Show("not found")
End If
End Using
في أكوادك وجدت اختلافا في اسم الموقع حيث الأول google.ae والآخر google.cc
RE: يرجى التعديل على الكود - dubai.eig - 18-01-17
(18-01-17, 02:08 PM)مساعدة كتب : السلام عليكم
تفضل تعديل الكود
كود :
Dim EQSLURL As String = "http://www.google.ae/"
Using client As New WebClient() With {.Encoding = System.Text.Encoding.UTF8}
Dim ReturnStr As String = client.DownloadString(EQSLURL)
Dim filename As String = Regex.Match(ReturnStr, "downloadedfiles/.+?\.adi", RegexOptions.IgnoreCase).Value
If filename <> "" Then
Dim data() As Byte = client.DownloadData(EQSLURL & "/qslcard/" & filename)
IO.File.WriteAllBytes(IO.Path.GetFileName(filename), data)
MessageBox.Show("found: " & filename)
Else
MessageBox.Show("not found")
End If
End Using
في أكوادك وجدت اختلافا في اسم الموقع حيث الأول google.ae والآخر google.cc
ما شاءالله عليك
بارك الله فيك تم تجربة الكود ويعمل بشكل ممتاز
في ميزان اعمالك والف شككرا
(18-01-17, 02:08 PM)مساعدة كتب : السلام عليكم
تفضل تعديل الكود
كود :
Dim EQSLURL As String = "http://www.google.ae/"
Using client As New WebClient() With {.Encoding = System.Text.Encoding.UTF8}
Dim ReturnStr As String = client.DownloadString(EQSLURL)
Dim filename As String = Regex.Match(ReturnStr, "downloadedfiles/.+?\.adi", RegexOptions.IgnoreCase).Value
If filename <> "" Then
Dim data() As Byte = client.DownloadData(EQSLURL & "/qslcard/" & filename)
IO.File.WriteAllBytes(IO.Path.GetFileName(filename), data)
MessageBox.Show("found: " & filename)
Else
MessageBox.Show("not found")
End If
End Using
في أكوادك وجدت اختلافا في اسم الموقع حيث الأول google.ae والآخر google.cc
بس خطوة اخيره بارك الله فيك
انا حاولت اغير مكان تنزيل الملف بس طلع لي غلط
مثلا اريد تخزين الملف في فولدر
كود :
My.Application.Info.DirectoryPath & "\myfile\
وين اغير بلضبط
وشكرا من جديد
RE: يرجى التعديل على الكود - مساعدة - 18-01-17
التغيير يكون على هذا السطر
[align=left]
كود :
IO.File.WriteAllBytes(IO.Path.GetFileName(filename), data)
[/align]
ليصبح هكذا
[align=left]
كود :
Dim targetFilename as string
targetFilename = My.Application.Info.DirectoryPath & "\myfile\" & IO.Path.GetFileName(filename)
IO.File.WriteAllBytes(targetFilename , data)
[/align]
RE: يرجى التعديل على الكود - dubai.eig - 18-01-17
(18-01-17, 04:14 PM)مساعدة كتب : التغيير يكون على هذا السطر
كود :
IO.File.WriteAllBytes(IO.Path.GetFileName(filename), data)
ليصبح هكذا
كود :
Dim targetFilename as string
targetFilename = My.Application.Info.DirectoryPath & "\myfile\" & IO.Path.GetFileName(filename)
IO.File.WriteAllBytes(targetFilename , data)
احسنت بارك الله فيك
|