تقنية

كيفية إجراء البحث عن عنوان IP مع أوراق Google


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

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

بحث IP بالجملة مع أوراق Google

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

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

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

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

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

  4. انقر فوق الزر “تشغيل” ، وقم بتفويض البرنامج النصي وشاهدها حيث يتم ملء التفاصيل الجغرافية وأسماء ISP في الورقة.

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

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

يستخدم خدمة 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


اكتشاف المزيد من مرابع التكنولوجيا

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

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

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

اكتشاف المزيد من مرابع التكنولوجيا

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading