XingYun blog
  • JS基础

    • 图解js原型链
    • JS Event Loop
    • 对象的底层数据结构
    • 让你的JavaScript代码简单又高效
    • 函数参数按值传递
    • 判断数据类型
    • 浮点数精度问题和解决办法
    • 常用方法snippet
    • 实现Promise
    • 防抖和节流
    • 巧用sort排序
  • CSS && HTML

    • CSS也需要性能优化
    • class命名规范
    • em、px、rem、vh、vw 区别
    • CSS揭秘阅读笔记
  • 浏览器

    • 浏览器是如何渲染页面的
    • 重排和重绘
    • BOM浏览器对象模型
    • DOM事件
    • 浏览器存储
  • 数据结构

    • JS实现链表
    • JS实现栈与栈应用
    • JS实现常见排序
    • 哈夫曼编码
    • MD5算法
  • vue原理浅析

    • Vue虚拟dom与Diff算法
    • 前端打包文件的缓存机制
    • vue数组为什么不是响应式
    • v-for为什么不能用index做key
  • 前端工程化

    • 浏览器是如何渲染页面的
    • 前端打包需要gzip压缩吗
    • 前端打包文件的缓存机制
    • webpack loader和plugin
  • 轮子&&组件库

    • 实现水波浪进度球
  • 文字转语音mp3文件
  • 文件上传前后端实现
  • moment.js给定时间获取自然月、周的时间轴
  • 实现文件上传功能
  • 批量下载照片
  • leaflet改变坐标原点
  • 网络

    • 有了MAC地址 为什么还需要IP地址
    • 为什么IP地址老是变
    • 我们为什么需要IPV6
    • TCP与UDP
  • 计算机组成原理

    • ASCII、Unicode、UTF-8和UTF-16
  • VSCode

    • VSCode图片预览插件 Image preview
    • rsync:linux间的高效传输工具

XingYun

冲!
  • JS基础

    • 图解js原型链
    • JS Event Loop
    • 对象的底层数据结构
    • 让你的JavaScript代码简单又高效
    • 函数参数按值传递
    • 判断数据类型
    • 浮点数精度问题和解决办法
    • 常用方法snippet
    • 实现Promise
    • 防抖和节流
    • 巧用sort排序
  • CSS && HTML

    • CSS也需要性能优化
    • class命名规范
    • em、px、rem、vh、vw 区别
    • CSS揭秘阅读笔记
  • 浏览器

    • 浏览器是如何渲染页面的
    • 重排和重绘
    • BOM浏览器对象模型
    • DOM事件
    • 浏览器存储
  • 数据结构

    • JS实现链表
    • JS实现栈与栈应用
    • JS实现常见排序
    • 哈夫曼编码
    • MD5算法
  • vue原理浅析

    • Vue虚拟dom与Diff算法
    • 前端打包文件的缓存机制
    • vue数组为什么不是响应式
    • v-for为什么不能用index做key
  • 前端工程化

    • 浏览器是如何渲染页面的
    • 前端打包需要gzip压缩吗
    • 前端打包文件的缓存机制
    • webpack loader和plugin
  • 轮子&&组件库

    • 实现水波浪进度球
  • 文字转语音mp3文件
  • 文件上传前后端实现
  • moment.js给定时间获取自然月、周的时间轴
  • 实现文件上传功能
  • 批量下载照片
  • leaflet改变坐标原点
  • 网络

    • 有了MAC地址 为什么还需要IP地址
    • 为什么IP地址老是变
    • 我们为什么需要IPV6
    • TCP与UDP
  • 计算机组成原理

    • ASCII、Unicode、UTF-8和UTF-16
  • VSCode

    • VSCode图片预览插件 Image preview
    • rsync:linux间的高效传输工具
  • VSCode图片预览插件 Image preview
  • Linux服务器
  • 记录git使用
  • mac终端
  • 代理
    • nginx部署网站
    • CDN与对象存储-七牛云
    • rsync:linux间的高效传输工具
    • 正则表达式
    • yarn
    • Alfred
    • npm
    • vim编辑器基础
    • docker部署node服务
    • lux一行命令下载全网视频
    • Chrome-Tips
    • 工具
    XingYun
    2021-12-17
    目录

    代理

    # Mac 终端走代理

    https://github.com/mrdulin/blog/issues/18

    在小火箭的设置

    可以看出
    我的http代理地址为127.0.0.1:1087

    所以我需要将需要代理的程序都指向127.0.0.1 端口1087

    # 设置使用代理
    alias setproxy="export http_proxy=127.0.0.1:1087; export https_proxy=$http_proxy; echo 'Set proxy successfully'"
    # 设置取消使用代理
    alias unsetproxy="unset http_proxy; unset https_proxy; unset all_proxy; echo 'Unset proxy successfully'"
    
    1
    2
    3
    4

    利用curl命令查看当前的终端IP

    可以看到curl代理成功了

    为什么设置了 http_proxy 等环境变量,git, curl 等命令行工具可以魔法上网了?

    答:git,wget, curl,brew 等 cli,甚至 GCP 提供的 gcloud sdk 内部都会读取 http_proxy, https_proxy, all_proxy 等系统环境变量:

    git config httpproxy
    using-homebrew-behind-a-proxy
    Configuring Cloud SDK for use behind a proxy/firewall
    仅仅是应用程序运行时环境变量,没有魔法。比如 Node.js 应用程序,可以使用 process.env.http_proxy 来读取程序运行时环境变量。其他语言比如 Go, Java, Python, PHP 都有各自的内置标准库 API 或全局变量(比如 Node.js 的 process)来读取系统环境变量。git, wget, curl, brew, gcloud 和我们自己写的应用程序一样,没什么特殊的。

    node
    Welcome to Node.js v14.16.0.
    Type ".help" for more information.

    process.env.http_proxy
    'http://127.0.0.1:7890'

    # Axios 使用代理 IP 请求

    // 方法1
    axios({
      url: 'http://www.baidu.com',
      method: 'get',
      proxy: {
        host: '183.167.217.152',
        port: 63000
      }
    }).then((res) => {
      console.log(res)
    })
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    以下一般用于 node 程序开发模式调试

    const axios = require('axios')
    const tunnel = require('tunnel')
    // 方法2
    axios({
      url: 'https://www.baidu.com/',
      method: 'get',
      proxy: false,
      httpAgent: tunnel.httpOverHttp({
        proxy: { host: '183.167.217.152', port: '630001' }
      }),
      httpsAgent: tunnel.httpsOverHttp({
        proxy: { host: '183.167.217.152', port: '630001' }
      })
    }).then((res) => {
      console.log(res)
    })
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #工具
    上次更新: 2023/04/05, 09:41:10
    mac终端
    nginx部署网站

    ← mac终端 nginx部署网站→

    最近更新
    01
    JavaScript-test
    07-20
    02
    二维码的原理
    07-20
    03
    利用ChatGPT优化代码
    07-20
    更多文章>
    Theme by Vdoing | Copyright © 2021-2023 XingYun | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式