تقنية

كيفية إجراء بحث عن عنوان IP باستخدام جداول بيانات Google


يمكن لمواقع الويب تحديد الموقع الجغرافي للزائر باستخدام عنوان IP الخاص به وتقديم محتوى أكثر صلة. على سبيل المثال، قد يستخدم أحد مواقع الطقس عنوان IP الخاص بك لتقدير موقعك التقريبي وتوفير توقعات الطقس لمدينتك الحالية تلقائيًا. يمكن لموقع ويب صرف العملات تحديد عملتك الافتراضية بناءً على بلدك والتي يتم اكتشافها من عنوان IP الخاص بك.

هناك خدمات مجانية للبحث عن عناوين IP على الويب، ip2c.org على سبيل المثال، سيكشف ذلك عن بلد عنوان IP الخاص بعميلك من خلال طلب HTTP بسيط. نحن نستخدم هذه الخدمة داخليًا في Digital Inspiration لتحديد مزود خدمة الدفع على صفحة الخروج.

بحث جماعي عن عناوين IP باستخدام جداول بيانات Google

يعد IP2Location بديلاً جيدًا آخر يسترد معلومات أكثر تفصيلاً عن الموقع الجغرافي لأي عنوان IP. يمكن لخدمة البحث عن موقع IP استرداد بلد العميل واسم المدينة والمنطقة واسم مزود خدمة الإنترنت والمزيد.

إذا كانت لديك قائمة مجمعة لعناوين IP، فيمكنك استخدام جداول بيانات Google لتقدير التفاصيل الجغرافية المقابلة لكل عنوان في بضع خطوات سهلة:

  1. انقر هنا لعمل نسخة من ورقة Google لإجراء عمليات بحث IP بشكل مجمّع.

  2. الصق قائمة عناوين IP في العمود A، واحد لكل صف. تعمل خدمة البحث لكل من عناوين IPv4 وIPv6.

  3. أدخل مفتاحك في الخلية E1. إذا كانت لديك قائمة صغيرة بعناوين IP، فاستخدمها demo كمفتاح أو احصل على مفتاح API الخاص بك من ip2location.com.

  4. انقر فوق الزر “تشغيل”، وقم بتخويل البرنامج النصي وشاهد التفاصيل الجغرافية وأسماء مزودي خدمة الإنترنت يتم ملؤها في الورقة.

عرض خدمة الويب IP2Location

كيف يعمل البرنامج النصي IP2Location

داخليًا، تستخدم ورقة Google خدمة الويب IP2location مع Google Apps Script لتحويل عناوين IP إلى منطقة جغرافية.

ويستخدم خدمة UrlFetchApp لتنفيذ طلبات HTTP متعددة دفعة واحدة لتحسين الأداء. إليك كود المصدر الكامل:

const ip2location = () => {
  // Get all the input data from Google Sheet
  const ss = SpreadsheetApp.getActiveSheet();
  const data = ss.getDataRange().getDisplayValues();

  // Use your own API key or use demo key
  const apiKey = data[0][4] || 'demo';

  // Generate API URL for IP address
  const getUri_ = (ipAddress) => {
    const API_URL = 'https://api.ip2location.com/v2';
    return `${API_URL}/?ip=${ipAddress}&key=${apiKey}&package=ws4`;
  };

  const requests = [];

  for (let r = 2; r < data.length; r++) {
    const [ipAddress, countryName] = data[r];
    // Only process rows where the country is blank
    if (ipAddress && !countryName) {
      requests.push({ url: getUri_(ipAddress), rowNumber: r + 1 });
    }
  }

  // Make API calls in bulk using the UrlFetchApp service
  UrlFetchApp.fetchAll(requests).forEach((content, i) => {
    // Parse the JSON response
    const { city_name, country_name, isp, response } = JSON.parse(content);

    // If the response is populated, the API call failed
    if (response) throw new Error(response);

    // Write the response data to Google Sheet
    const values = [[country_name, region_name, city_name, isp]];
    ss.getRange(requests[i].rowNumber, 2, 1, 4).setValues(values);
  });

  // Flush all changes
  SpreadsheetApp.flush();
};



Source link

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى