最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

每分钟对数组发出http请求

运维笔记admin8浏览0评论

每分钟对数组发出http请求

每分钟对数组发出http请求

我必须在超过1000个IP地址上检索lat e lon。由于我必须使用ip-api / batch,因此对这个api的post方法需要每分钟最多100个Json参数。我接受输入数组超过1000个ip地址,我创建了一个新数组,每个索引另一个数组长度最大为100.现在我正在努力为数组上的每个索引进行http调用,并等待一分钟,以便在下一个数据库上发出新请求指数。

  //for example I have two index in groups and each index has other 3 
    indexes 
   let groups= [[ { query: '193.206.170.145', fields: 'lat,lon' },
      { query: '37.186.207.50', fields: 'lat,lon' },
     { query: '193.206.170.144', fields: 'lat,lon' },
      { query: '62.18.244.163', fields: 'lat,lon' }],
      [ { query: '79.52.35.144', fields: 'lat,lon' },
         { query: '62.18.249.56', fields: 'lat,lon' },
       { query: '176.200.132.147', fields: 'lat,lon' }]]


groups.forEach( el => makeRequest(el));


function makeRequest (array){
let toJson = JSON.stringify(array)
  setInterval(function(){
  axios.post('',toJson)
    .then(function (response) {
    console.log(response.data);
 })
   .catch(function (error) {
    console.log(error);
     });

  },60000);
}

 Expected:

  [{ lat: 45.8, lon: 8.8333 },
   { lat: 45.8155, lon: 8.82753 },
   { lat: 45.8, lon: 8.8333 }]

 after one minute   
   [{ lat: 41.818, lon: 12.4148 },
   { lat: 45.4643, lon: 9.1895 },
   { lat: 45.5324, lon: 9.0402 }]
回答如下:
const axios = require('axios');

let groups = [[{ query: '193.206.170.145', fields: 'lat,lon' },
{ query: '37.186.207.50', fields: 'lat,lon' },
{ query: '193.206.170.144', fields: 'lat,lon' },
{ query: '62.18.244.163', fields: 'lat,lon' }],
[{ query: '79.52.35.144', fields: 'lat,lon' },
{ query: '62.18.249.56', fields: 'lat,lon' },
{ query: '176.200.132.147', fields: 'lat,lon' }]]

groups.forEach(el => makeRequest(el));

function makeRequest(array) {
    for (var i = 0; i < array.length; i++) {
        (function (i) {
            let toJson = JSON.stringify(array)
            setTimeout(function () {
                axios.post('http://ip-api/batch', toJson)
                    .then(function (response) {
                        console.log(response.data);
                    })
                    .catch(function (error) {
                        console.log(error);
                    })
            }, 60000 * i);
        })(i);
    }
}

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论