Nodejs - 从外部网站获取内容

时间:2018-04-28 09:31:17

标签: node.js google-cloud-functions gcloud

我写了一个简单的网站,每次重新加载时都会返回一个随机的4位数字。好的,所以我希望通过<select multiple name="property"> @foreach($products as $product) <option value="{{ $product->id }}"> {{ $product->name }} </option> @endforeach </select> 读取该数字。用Google搜索几次,发现Node.jsaxios是我最好的选择..

我的网站:fs

上面的网站在我的浏览器上工作..可能不在你的..所以我为此创建了一个临时网站..它仍然没有按预期工作: SOLVED

我想出了这个:

SOLVED

我将此代码与let axios = require('axios'); let cheerio = require('cheerio'); let fs = require('fs'); axios.get('http://thedico.com/third.php') .then((response) => { if(response.status === 200) { const html = response.data; const $ = cheerio.load(html); res.send("Status returned 200...!"); } }, (error) => console.log(error) res.send("error...!")); res.send("Done...!"); a.k.a Google Cloud Functions一起使用,但此代码也不打印输出或返回我的网站数据。我该怎么办?

我确定的事情:

  • 我的网站已启动,正常速度下的加载时间约为gCloud
  • 我的&#39; gCloud&#39;已设置并启用结算
  • 手动重装时一切正常

由于

1 个答案:

答案 0 :(得分:1)

我尝试使用axios并请求它现在正常工作。你的代码中也有一些错误。

const request = require("request");
const axios = require('axios');
const cheerio = require('cheerio');
const fs = require('fs');
  

使用请求模块

request('https://alexandrarawand.000webhostapp.com/index.php', function (error, response, html) {
    if (!error && response.statusCode == 200) {
        var $ = cheerio.load(html);
        // Get text 
        console.log("------- with request module -------")
        console.log($.text());
        // Get HTML 
        //console.log($.html());
    }
});
  

使用Axios模块

axios.get('https://alexandrarawand.000webhostapp.com/index.php')
    .then((response) => {
        if (response.status === 200) {
            const html = response.data;
            const $ = cheerio.load(html);
            // Get text 
            console.log("------- with axios module -------")
            console.log($.text());
            // Get HTML 
            //console.log($.html());
        }
    })
    .catch((err) => {
        throw new Error(err);
    });

希望它可以帮到你。