简体   繁体   English

从 API 调用外部 URL

[英]Call External URL from API

I getting a captchas page when I want to bring some JSON data from URL when I Call it from my API当我从 API 调用它时,我想从 URL 带来一些 JSON 数据时,我得到一个验证码页面

I try to bring data from array of JSON, but when I request it from my API I Just get an enpoint of Captchas, I just want some data, like openPrice, highPrice, price, and lowPrice.我尝试从 JSON 数组中获取数据,但是当我从 API 请求它时,我只是得到了验证码的一个点,我只想要一些数据,比如 openPrice、highPrice、price 和 lowPrice。 But I just get a captchas form and not the array of JSON但我只是得到一个验证码表格,而不是 JSON 的数组

var express = require("express");
var bodyParser = require("body-parser");
var sql = require("mssql");
var app = express();
var request = require('request');
var useragent = require("express-useragent");
var bloomberg = `https://www.bloomberg.com/markets2/api/quote/CUR/USDMXN%3ACUR?locale=en/`;

//GET API TEST EXCHANGE
app.get("/api/exchange", function(req, res){
  request({
    url: bloomberg,
    json: false
  }, function(err, resu, body){
    if(!err && resu.statusCode === 200){
      res.send(body);
    }
  });
});

I just want to bring 3 data我只想带3个数据

{ openPrice: 19.1159, price: 19.1014, lowPrice: 19.0585, highPrice: 19.129, }

This is what I tested on my localhost:这是我在本地主机上测试的:

  • That one is not working.那个不工作。 It returns no data.它不返回任何数据。
curl https://www.bloomberg.com/markets2/api/quote/CUR/USDMXN%3ACUR?locale=en/
  • That one works:那一个有效:
curl https://www.bloomberg.com/markets2/api/quote/CUR/USDMXN%3ACUR?locale=en/ -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36

Set User-Agent Header to:将用户代理 Header 设置为:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"

or other User-Agent which is recognized as a browser.或其他被识别为浏览器的用户代理。 Probably they check if http-client is a bot or sth else - idk bloomberg API可能他们会检查 http-client 是机器人还是其他 - idk Bloomberg API

The topic might be useful for you:该主题可能对您有用:

Request: How to set user agent for every request? 请求:如何为每个请求设置用户代理?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM