الاستفادة من خدمات تقصير العناوين برمجيا – خدمة Cligs

This article is available in English too, check it out here.

يمكنك قراءة المزيد عن خدمات تقصير العناوين هنا.

المحتويات

محتويات هذا الموضوع:

  • المحتويات
  • نظرة خاطفة
  • مقدمة
  • شرح الخدمة
  • الواجهة البرمجية
    • تقصير الروابط
    • تمديد الروابط
  • ماذا بعد

نظرة خاطفة

وهذا جزء آخر من سلسلة خدمات تقصير العناوين. اليوم نتكلم عن الخدمة المميزة جدا Cligs، مميزاتها، وكيفية الاستفادة منها برمجيا.

استعد!

مقدمة

اليوم نتكلم عن أحد الخدمات المتميزة جدا والمثيرة في مجال تقصير العناوين، إنها خدمة Cligs، من أشهر الخدمات الموجودة على الويب اليوم والتي توفر لك العديد من المميزات المتقدمة جدا وهي مع ذلك مجانية.

هيا بنا نستعرض هذه الخدمة.

معلومة سريعة: في بداية شهر ديسمبر 2009، قامت مؤسسة Mister Wong والتي توفر لك خدمة إدارة العناوين والمشاركة بها، قامت بشراء موقع Cligs من مطوره Pierre Far.

الشرح

توفر لك خدمة Cligs العديد من المميزات من أهمها:

  • تقصير الروابط الطويلة لتحصل على روابط قصيرة طولها 20 حرف فقط (تذكر، Tweetburner تقصر إلى 22 حرف، أما is.gd فتقصر الروابط إلى 18 حرف فقط!) بما في ذلك اسم النطاق http://cli.gs (لجميع الأعضاء.)
  • إدارة لجميع الراوبط مع إمكانية إزالتها أو تعديلها (للأعضاء المسجلين فقط.)
  • تحليل لحظي للنقرات والدخول على روابطك (للأعضاء المسجلين فقط.)
  • معاينة الروابط قبل الدخول عليها. فعند الدخول على العنوان تنتقل إلى صفحة معاينة الصفحة قبل الدخول عليها. وهذا يحميك من إزعاج الـ Spam ويحميك أيضا من الدخول إلى مواقع غير مرغوب فيها (لجميع الأعضاء.)

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

الواجهة البرمجية

توفر لك خدمة Cligs واجهة برمجية متميزة جدا. فالمميز في هذه الواجهة (الإصدار الأول والوحيد منها) هي بساطتها حيث أنها تحوي فقط دالتين واحدة لتقصير العناوين، والأخرى للحصول على العنوان الأصلي من العنوان القصير. ومن مميزات هذه الواجهة أيضا أنه يستطيع الأعضاء المسجلين وغير المسجلين استخدامها. وفي حالة استخدامها من قِبَل الأعضاء المسجلين فإنه يتم إضافة الروابط المقصرة إلى قائمة الروابط الخاصة بهم حيث يستطيعون التحكم بها من خلال لوحة تحكم الموقع (إزالتها، التعديل عليها، إلخ.)

تقصير الروابط

الدالة الأولى معنا وهي دالة create، دالة تقصير الروابط. وهذه الدالة لها العنوان التالي:

http://cli.gs/api/v1/cligs/create?url={1}&title={2}&key={3}&appid={4}

لاحظ أن الواجهة البرمجية مازالت في الإصدار الأول، لذلك فإننا نقوم بتحديد الإصدار v1 في الدالة.

هذه الدالة تأخذ 4 مدخلات الأولى فقط مطلوبة والباقية خاصة بالمستخدمين المسجلين في الموقع:

  1. url:
    مطلوب. العنوان المراد تقصيره.
  2. title:
    اختياري. اسم مميز تعطيه للرابط يظهر لك في شاشة التحكم للموقع فقط إذا كنت مسجلا هناك وقمت بإدخال البيانات المناسبة في المدخل الثالث والرابع.
  3. key:
    اختياري. إذا كنت مسجلا في الموقع وترغب في ربط هذه الدالة بالحساب الخاص بك، فيمكنك الحصول على المفتاح البرمجي API Key واستخدامه حتى تستطيع متابعة التحليلات الخاصة بروابطك والتحكم بها من خلال الموقع.
  4. appid:
    اختياري. يحوي اسم البرنامج. هذا عبارة عن اسم البرنامج الذي يقوم باستخدام الخدمة الآن. مطلوب فقط إذا قمت بإدخال المفتاح البرمجي في المدخل الثالث.

إذا فكيفية استخدام هذه الدالة كالآتي: إذا لم تكن ترغب في ربط هذه العملية بأي مستخدم فيمكنك النداء على هذه الدالة باستخدام مدخل واحد فقط وهو url وهو العنوان المراد تقصيره فتحصل على العنوان القصير.

أما إذا كنت تريد ربط هذه العملية بمستخدم معين، فتحتاج أولا إلى الحصول على المفتاح البرمجي الخاص بهذا المستخدم. ويمكن للمستخدم الحصول على هذا المفتاح عن طريق تسجيل الدخول في الموقع والذهاب إلى ’مفاتيحي البرمجية My API Keys‘ ثم الضغط على ’إنشاء مفتح برمجي جديد Create New API Key‘ (إن لم يكن لديك واحد) فتحصل على مفتاح برمجي مكون من 32 حرف. لاحظ شكل 1.

شكل 1 - إنشاء المفاتيح البرمجية، كليجس

بعض حصولك على المفتاح البرمجي فيمكنك إدخاله للدالة في خانة key بالإضافة إلى اسم برنامجك الذي يستخدم الواجهة البرمجية في خانة appid لاستكمال عملية الربط.

ما فائدة إدخال اسم برنامجك؟ الفائدة هي أن المستخدم الآن يستطيع معرفة اسم البرنامج الذي تم استخدامه في تقصير الرابط عند زيارته للوحة التحكم والدخول إلى روابطه المقصرة My Cligs.

يتبقى معنا الآن المدخل title وهو خاص أيضا بالمستخدمين المسجلين. هذا المدخل يحدد اسم هذا الرابط الذي تم تقصيره. فمثلا اسم موقعنا هو ’مع الدوت نت‘. فإذا كنت تريد تحديد اسم للرابط فيمكنك تحديده في هذه الخانة title. وهذا يفيد المستخدم في معرفة أسماء روابطه عند ذهابه إلى لوحة التحكم والدخول إلى صفحة الروابط الخاصة به. لاحظ شكل 2.

شكل 2 - روابطي، كليجس

الآن لننتقل إلى الكود. دالتنا التالية تقوم بتقصير العناوين باستخدام خدمة Cligs. إذا كانت المدخلات الخاصة بالتوثيق لهذه الدالة null (Nothing في VB.NET) فإنه ليس هناك ربط مع أي مستخدم وإلا فسوف يتم الربط مع المستخدم المتوفرة بياناته (المفتاح البرمجي،) وبالطبع فإن اسم البرنامج لن يستخدم إلا في حالة توفر المفتاح البرمجي.

// C#
string Shorten(string url, string key, string app)
{
    url = Uri.EscapeUriString(url);
    string reqUri =
        String.Format(@"http://cli.gs/api/v1/cligs/create?url={0}", url);
    if (key != null)
        reqUri += "&key=" + key + "&appid=" + app;
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(reqUri);
    req.Timeout = 5000;
    try
    {
        using (System.IO.StreamReader reader =
            new System.IO.StreamReader(req.GetResponse().GetResponseStream()))
        {
            return reader.ReadLine();
        }
    }
    catch (WebException ex)
    {
        return ex.Message;
    }
}
' VB.NET
Function Shorten(ByVal url As String, _
                 ByVal key As String, ByVal app As String) As String
    url = Uri.EscapeUriString(url)
    Dim reqUri As String = _
        String.Format("http://cli.gs/api/v1/cligs/create?url={0}", url)
    If key Is Nothing Then
        reqUri &= "&key=" & key & "&appid=" & app
    End If
    Dim req As WebRequest = WebRequest.Create(reqUri)
    req.Timeout = 5000
    Try
        Dim reader As System.IO.StreamReader = _
            New System.IO.StreamReader(req.GetResponse().GetResponseStream())
        Dim retValue As String = reader.ReadLine()
        reader.Close()
        Return retValue
    Catch ex As WebException
        Return ex.Message
    End Try
End Function

تمديد الروابط

الدالة الأخرى معنا وهي دالة التمديد Expand. وهذه العملية هي عملية الحصول على الرابط الأصلي من الرابط القصير. أي أنك إذا كان لديك رابط قصير مثل http://cli.gs/psqUaX فإنك تستطيع معرفة الرابط الأصلي مثلا http://WithDotNet.net باستخدام هذه الدالة والتي لها العنوان:

http://cli.gs/api/v1/cligs/expand?clig={1}

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

  • المعرِّف فقط. مثلا: psqUaX.
  • الرابط كاملا بدون ترميز. مثلا: http://cli.gs/psqUaX.
  • الرابط كاملا مع ترميزه. مثلا: http%3A%2F%2Fcli.gs%2FpsqUaX.

يمكنك قراءة المزيد عن ترميز العناوين هنا.

الآن إلى الكود. دالتنا التالية تأخذ رابطا قصيرا كمدخلات وتقوم بإرجاع الرابط الأصلي:

// C#
string Expand(string url)
{
    url = Uri.EscapeUriString(url);
    string reqUri = String.Format(@"http://cli.gs/api/v1/cligs/expand?clig={0}", url);
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(reqUri);
    req.Timeout = 5000;
    try
    {
        using (System.IO.StreamReader reader =
            new System.IO.StreamReader(req.GetResponse().GetResponseStream()))
        {
            return reader.ReadLine();
        }
    }
    catch (WebException ex)
    {
        return ex.Message;
    }
}
' VB.NET
Function Expand(ByVal url As String) As String
    url = Uri.EscapeUriString(url)
    Dim reqUri As String = _
        String.Format("http://cli.gs/api/v1/cligs/expand?clig={0}", url)
    Dim req As WebRequest = WebRequest.Create(reqUri)
    req.Timeout = 5000
    Try
        Dim reader As System.IO.StreamReader = _
            New System.IO.StreamReader(req.GetResponse().GetResponseStream())
        Dim retValue As String = reader.ReadLine()
        reader.Close()
        Return retValue
    Catch ex As WebException
        Return ex.Message
    End Try
End Function

ماذا بعد

أخيرا، ربما تحبون قراءة المزيد عن خدمات تقصير العناوين هنا.

مواضيع مشابهة:

اخترنا لك:

أحدث المواضيع:

هل أعجبتك؟ شارك بها...