相关疑难解决方法(0)

没有使用快速代理路由的响应

我用nodejs,express和htt-proxy编写了一个小代理.它适用于提供本地文件,但在代理到外部api时失败:

var express = require('express'),
    app = express.createServer(),
    httpProxy = require('http-proxy');


app.use(express.bodyParser());
app.listen(process.env.PORT || 1235);

var proxy = new httpProxy.RoutingProxy();

app.get('/', function(req, res) {
    res.sendfile(__dirname + '/index.html');
});
app.get('/js/*', function(req, res) {
    res.sendfile(__dirname + req.url);
});
app.get('/css/*', function(req, res) {
    res.sendfile(__dirname + req.url);
});

app.all('/*', function(req, res) {
    req.url = 'v1/public/yql?q=show%20tables&format=json&callback=';
    proxy.proxyRequest(req, res, {
        host: 'query.yahooapis.com', //yahoo is just an example to verify its not the apis fault
        port: 8080
    });

});
Run Code Online (Sandbox Code Playgroud)

问题是雅虎api没有回复,也许有回应,但我没有在浏览器中出现.

proxy node.js express

27
推荐指数
2
解决办法
2万
查看次数

请求管道上的错误处理

我在nodejs上编写了简单的代理,它看起来像

var request = require( 'request' );
app.all( '/proxy/*', function( req, res ){
    req.pipe( request({
        url: config.backendUrl + req.params[0],
        qs: req.query,
        method: req.method
    })).pipe( res );
});
Run Code Online (Sandbox Code Playgroud)

如果远程主机可用,它可以正常工作,但如果远程主机不可用,则整个节点服务器会因未处理的异常而崩溃

stream.js:94                                               
      throw er; // Unhandled stream error in pipe.         
            ^                                              
Error: connect ECONNREFUSED                                
    at errnoException (net.js:901:11)                      
    at Object.afterConnect [as oncomplete] (net.js:892:19) 
Run Code Online (Sandbox Code Playgroud)

我该如何处理这些错误?

javascript request node.js

23
推荐指数
1
解决办法
2万
查看次数

在ExpressJS中管道远程文件

我想读一个远程图像并显示它.我可以保存文件但不能正确显示代码.理想情况下,我只想在不进行处理的情况下正确传递文件 - 不确定是否需要tmp文件步骤.此代码不显示任何内容 - 没有错误.我也尝试了res.pipe(响应).

var url = 'http://proxy.boxresizer.com/convert?resize=50x50&source=' + filename

var request = http.get(url, function(response) {

  var tmp = path.join(require('os').tmpDir(), filename);

  var outstream = require('fs').createWriteStream(tmp);

  response.pipe(outstream);
  response.on('end', function() {
    res.set('Content-Type', 'image/jpg');
      res.pipe(outstream);
      res.end();
  });
});
Run Code Online (Sandbox Code Playgroud)

javascript node.js express

18
推荐指数
3
解决办法
2万
查看次数

使用这个(http-proxy-middleware)后,它在reactjs中给了我这个错误

我试图设置我的代理以与节点做出反应它试图在客户端的 package.json 中使用代理但是当我尝试使用 get 方法时它一直给我错误所以我搜索了另一种解决方案,我使用这个 npm 找到了这个模块(http-proxy-middleware),我运行 npm cache clean --force 命令来清除所有缓存,这样任何人都可以告诉我这是什么错误,或者如果有任何其他方法我可以尝试让我的应用程序正常工作

这是我的 server.js 文件

const express = require('express');
const connectDB = require('./config/db');
const app = express();

//connect database
connectDB();

// Init Middelware
app.use(express.json({ extended: false }));

const port = process.env.PORT || 6000;

app.get('/', (req, res) => {
  res.send('api running');
});

// Define route
app.use('/api/users', require('./router/api/user'));

app.use('/api/posts', require('./router/api/post'));

app.use('/api/profile', require('./router/api/profile'));

app.use('/api/auth', require('./router/api/auth'));

app.listen(port, () => {
  console.log(`server started in port ${port}`);
});
Run Code Online (Sandbox Code Playgroud)

这是我的 setupProxy.js 文件

const proxy = require('http-proxy-middleware');
module.exports …
Run Code Online (Sandbox Code Playgroud)

javascript proxy node.js reactjs http-proxy-middleware

3
推荐指数
1
解决办法
5672
查看次数

角度通用代理

我正在参与使用 Angular Universal 制作的项目。

我需要更改blog.mywebsite.commywebsite.com/blogSEO,我在 中使用了代理配置ng start,如下面的代码,它工作正常,但当我运行时它不起作用build:ssr

构建的项目中没有错误,在运行node dist / server.jsshow website 后,但我称mywebsite.com / mag我重定向到 404 页面,而在npm start

  "scripts": {
   "ng": "ng",
   "build": "ng build --prod",
   "start": "ng serve -o  --proxy-config src/proxy.conf.json ",
   "extract": "ng xi18n --output-path=locale",
   "build:ssr": "npm run build:client-and-server-bundles  && npm run 
    webpack:server ",
   "serve:ssr": "node dist/server.js",
   "build:client-and-server-bundles": "ng build --prod && ng run 
     angular.io-example:server",
  "webpack:server": "webpack --config webpack.server.config.js --devServer -- 
   progress --colors"
  }, 
Run Code Online (Sandbox Code Playgroud)

这是我的配置代理文件:

  { …
Run Code Online (Sandbox Code Playgroud)

proxy node.js universal angular

2
推荐指数
1
解决办法
6776
查看次数

做出反应后调用本地快递服务器

我想在我的反应代码中使用axios对端口8001上运行的本地快速服务器进行调用,如下所示:

axios.post('http://localhost:8001/enterInfo',{headers: { 'crossDomain': true }}, payload)
        .then((response) => {
            this.setState({
                saved:true
            })
        })
Run Code Online (Sandbox Code Playgroud)

我的快递服务器正在侦听端口8001.我在快递服务器上写了一个post方法:

app.post('/postUrl', (req, res) => {
console.log(req.body);
res.send('111');
});
Run Code Online (Sandbox Code Playgroud)

但是当我从反应ui进行调用时,它会给出这个错误:

XMLHttpRequest无法加载http:// localhost:8001/enterInfo.对预检请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头.因此,不允许来源" http:// localhost:8080 "访问.

xmlhttprequest cors express reactjs

0
推荐指数
1
解决办法
1065
查看次数