node axios不强制使用环境变量
                    
                    
                        
                            
                        
                        
                        
                            
                            发布于 2021-08-16 22:15:18
                        
                        
                        
                        
                        
                            
                            1886 次浏览
                        
                     
                
                
                
                    const axios = require('axios')
const { httpsOverHttp, httpOverHttp } = require('tunnel-agent')
const TUNNEL_OPTIONS = { proxy: { port: } }
axios.interceptors.request.use(function (config) {
  config.proxy = false // 强制禁用环境变量中的代理配置
  config.httpAgent = httpOverHttp(TUNNEL_OPTIONS)
  config.httpsAgent = httpsOverHttp(TUNNEL_OPTIONS)
  return config
})
	
	
		const axios = require('axios')
	
	
		// const { httpsOverHttp, httpOverHttp } = require('tunnel-agent') 
	
  
	
		// const TUNNEL_OPTIONS = { proxy: { port: } } 
	
  
	
		axios.interceptors.request.use(function (config) {
	
	
		  config.proxy = {
	
	
		    protocol: 'http',
	
	
		    host: '127.0.0.1',
	
	
		    port: 10, 
	
	
		    // auth: { 
	
	
		    //   username: 'mikeymike', 
	
	
		    //   password: 'rapunz3l' 
	
	
		    // } 
	
	
		  }// 强制禁用环境变量中的代理配置 
	
	
		  // config.httpAgent = httpOverHttp(TUNNEL_OPTIONS) 
	
	
		  // config.httpsAgent = httpsOverHttp(TUNNEL_OPTIONS) 
	
	
		   return config 
	
	
		})
	
	
		axios.get('http://lininn.cn').then(res=>{
	
	
		  console.log(res)
	
	
		})
	
 
这种方式使得 proxy 与 agent 配置参数无法被业务更改,但是的确是一种可行的方法。
$ node --require ./one.js