(25-07-17, 04:46 AM)أبو نوره كتب : [ -> ]اخي ابو روضه
جرب كده
PHP كود :
Dim wc As New WebClient
Dim sourceString As String = wc.DownloadString("https://pastebin.com/raw/fK79BjW7")
Dim s As String = Regex.Match(sourceString, "(?<=""access_token"":"").+?(?="")").Value
MsgBox(s)
الله يسعدك ويمن عليك بالزيادة فى العلم اخى العزيز ابو نوره...
والله فرحتنى لان الموضوع ده بقالو كتير جدا محيرنى وكنت بصراحة مكسوف اساله..
فجزاك الله خيرى الدارين....
ممكن لو وقتك يسمح شرح بسيط للكود لآفهمه ؟ وطبعا لو وقتك لا يسمح والله عادى جدا
ومش هازعل بالعكس♥
فعلا نجح تمام
تحت امرك ♥
PHP كود :
Dim wc As New WebClient
Dim sourceString As String = wc.DownloadString("https://pastebin.com/raw/fK79BjW7")
ده اكيد واضح بالنسبه لك وهو انه يعمل دونلود للنص ويحط النص في المتغير sourceString
PHP كود :
Dim s As String = Regex.Match(sourceString, "(?<=""access_token"":"").+?(?="")").Value
افتكر ده اللي انت عاوز شرح ليه
الكود ده يستخدم RegularExpressions ودي مكتبة شرحها يحتاج دورة من عدة دروس
لكن فيه موضوع هنا يشرحه اسمه
[مقال] شرح التعابير القياسية Regex
الأخ أبو روضه
أولا : لا حياء في العلم ....
لو ألقيت نظرة سريعة علي التكست ستلاحظ انه تكست تفصيل و مبني بطريقة بسيطة و اعتقد نه تم بناؤه باستخدام
StringBuilder
و غالبا هذا التكست أساسه عبارة عن كلاس له مدخلات جميعها String
و هو مقسم علي التوالي الي مجموعة تكست هي
session_key
UId
secret
access_token
machine_id
confirmed
identifier
و تم الفصل بينهم جميعا باستخدام Char هو ","
ثم بعد ذلك تم الفصل بين كل تكست منهم باستخدام Char هو ":"
اي انك التكست مقسم الي مصفوفة تكست عبارة عن سبعة اجزاء
و كل تكست في المصفوفة عبارة عن مصفوفة اخري صغيرة من جزئين
يمكنك استخدام الدالة التالية للحصول علي كل String تريده
الدالة تقوم بفصل التكست الي مصفوفات
PHP كود :
Private Function GetString(s As String, index As Integer) As String
Dim bool As Integer = 0
Dim result As String = ""
Dim item As String = ""
If Not String.IsNullOrEmpty(value) Then
s.TrimStart("{")
s.TrimEnd("}")
Dim values = value.Split(",")
item += values(index)
Dim itemStrings As String() = item.Split(":"c)
result += itemStrings(1)
bool = bool + 1
End If
If bool > 0 AndAlso Not String.IsNullOrEmpty(result) Then
Return result
End If
Return Nothing
End Function
للحصول علي access_token مثلا وهي ترتيبها لثالث تقريبا
استخدم الدالة بالشكل التالي
PHP كود :
Dim wc As New WebClient
Dim s As String = wc.DownloadString("https://pastebin.com/raw/fK79BjW7")
Dim token As String = GetString(s, 3)
فعليا الافضل لك بناء كلاس يقرأ التكست و يفصله الي مجموعة Property هي علي التوالي كالأتي
PHP كود :
Public ReadOnly Property SessionKey As String
Public ReadOnly Property ID As String
Public ReadOnly Property Secret As String
Public ReadOnly Property AccessToken As String
Public ReadOnly Property MachineID As String
Public ReadOnly Property Confirmed As String
Public ReadOnly Property Identifier As String
أخيرا
طبعا لو انت من قام ببناء الملف فإن الأمور ستكون أسهل قليلا
خاصة ان معظم التكست التي سيتم استردادها من الملف هي تكست تم تشفيرها غاليا
(25-07-17, 12:15 PM)silverlight كتب : [ -> ]الأخ أبو روضه
أولا : لا حياء في العلم ....
لو ألقيت نظرة سريعة علي التكست ستلاحظ انه تكست تفصيل و مبني بطريقة بسيطة و اعتقد نه تم بناؤه باستخدام StringBuilder
و غالبا هذا التكست أساسه عبارة عن كلاس له مدخلات جميعها String
و هو مقسم علي التوالي الي مجموعة تكست هي
session_key
UId
secret
access_token
machine_id
confirmed
identifier
و تم الفصل بينهم جميعا باستخدام Char هو ","
ثم بعد ذلك تم الفصل بين كل تكست منهم باستخدام Char هو ":"
اي انك التكست مقسم الي مصفوفة تكست عبارة عن سبعة اجزاء
و كل تكست في المصفوفة عبارة عن مصفوفة اخري صغيرة من جزئين
يمكنك استخدام الدالة التالية للحصول علي كل String تريده
الدالة تقوم بفصل التكست الي مصفوفات
PHP كود :
Private Function GetString(s As String, index As Integer) As String
Dim bool As Integer = 0
Dim result As String = ""
Dim item As String = ""
If Not String.IsNullOrEmpty(value) Then
s.TrimStart("{")
s.TrimEnd("}")
Dim values = value.Split(",")
item += values(index)
Dim itemStrings As String() = item.Split(":"c)
result += itemStrings(1)
bool = bool + 1
End If
If bool > 0 AndAlso Not String.IsNullOrEmpty(result) Then
Return result
End If
Return Nothing
End Function
للحصول علي access_token مثلا وهي ترتيبها لثالث تقريبا
استخدم الدالة بالشكل التالي
PHP كود :
Dim wc As New WebClient
Dim s As String = wc.DownloadString("https://pastebin.com/raw/fK79BjW7")
Dim token As String = GetString(s, 3)
فعليا الافضل لك بناء كلاس يقرأ التكست و يفصله الي مجموعة Property هي علي التوالي كالأتي
PHP كود :
Public ReadOnly Property SessionKey As String
Public ReadOnly Property ID As String
Public ReadOnly Property Secret As String
Public ReadOnly Property AccessToken As String
Public ReadOnly Property MachineID As String
Public ReadOnly Property Confirmed As String
Public ReadOnly Property Identifier As String
أخيرا
طبعا لو انت من قام ببناء الملف فإن الأمور ستكون أسهل قليلا
خاصة ان معظم التكست التي سيتم استردادها من الملف هي تكست تم تشفيرها غاليا
الله يسعد قلبك اخى العزيز ويبارك بعمرك ويجزيك كل الخيرات على هذا التوضيح المبسط