关于使用代理的那些事儿

因为公司的网络是需要设置代理服务器才能访问互联网的,所以在使用各种框架的时候,特别是通过cli的方式进行下载、安装的时候,经常会碰到无法连接到网络的问题。因为这些cli工具没有直接去读取系统设置的代理服务器地址。

下面就是一些常用的框架和工具,特别是需要单独设置代理才能正常使用的方法:
运行平台主要以MacOS为例。

curl

meteor等工具在MacOSX系统下是通过该命令方式进行下载并安装的(
curl https://install.meteor.com/ | sh)。如果未能正确设置代理服务器的话,会出现无法正常安装的问题。

使用方法:

curl -x http://myproxy.com:port ...

示例如下:

$ curl -x 10.20.220.241:808 segmentfault.com -v

ionic

使用方法:

export http_proxy=myproxy.com:port

或者:

export PROXY=http://myproxy.com:port

也可以写在一行:

PROXY=myproxy.com:port ionic start my_app

使用示例如下:

$ export PROXY=http://10.20.220.241:808
$ ionic start myApp

$ PROXY=http://10.20.220.241:808 ionic start myApp

小技巧:还有一种更为方便和省事的写法,把http和https等一起设置,如下:

$ export {http,https,ftp}_proxy=http://myproxy.com:port

上面的写法相当于:

$ export http_proxy="http://myproxy.com:port" 
$ export https_proxy="http://myproxy.com:port" 
$ export ftp_proxy="http://myproxy.com:port"

git

通过以下方法进行一次性设置后即完成了代理服务器的设置。该方法是将代理服务器的地址写入了当前登录的全局配置文件中(
~/.gitconfig)。

使用方法:

git config --global http.proxy http://myproxy.com:port
git config --global https.proxy http://myproxy.com:port

示例如下:

$ git config --global http.proxy http://10.20.220.241:808
$ git config --global https.proxy https://10.20.220.241:808

npm

通过以下方法进行一次性设置后即完成了代理服务器的设置。该方法是将代理服务器的地址写入了当前登录的全局配置文件中(
~/.npmrc)。

使用方法:

npm config set proxy=http://myproxy.com:port
npm config set https-proxy http://myproxy.com:port

示例如下:

$ npm config set proxy=http://10.20.220.241:808
$ npm config set https-proxy http://10.20.220.241:808

brew

使用方法:

http_proxy=http://myproxy.com:port brew install ...

示例如下:

$ http_proxy=http://10.20.220.241:808 brew install tree

gem

使用方法:

gem install ... -http-proxy=http://myproxy.com:port

示例如下:

$ gem install cocoapods --http-proxy http://10.20.220.241:808

bower

通过以下方法进行一次性设置后即完成了代理服务器的设置。该方法是将代理服务器的地址写入了当前登录的全局配置文件中(
~/.bowerrc)。

使用方法:(添加如下内容到~/.bowerrc文件中)

"proxy": "http://myproxy.com:port"
"https-proxy":"http://myproxy.com:port"

示例如下:

~/.bowerrc文件内容如下:

{
  "proxy": "http://10.20.220.241:808",
  "https-proxy":"http://10.20.220.241:808"
}

apm (Atom)

apm是Atom编辑器中的命令行工具。

使用方法:

PROXY=http://myproxy.com:port apm install ...

示例如下:

$ PROXY=http://10.20.220.241:808 apm install nuclide

或者:

直接编辑.apmrc文件内容。

使用方法:

https-proxy=http://myproxy.com:port
proxy=http://myproxy.com:port
strict-ssl=false

示例如下:

https-proxy=https://10.20.220.241:808/
proxy=http://10.20.220.241:808/
strict-ssl=false

NuGet

NuGet(读作New Get)是用于微软.NET开发平台的软件包管理器,是一个Visual Studio的扩展。在使用Visual Studio开发基于.NET Framework的应用时,NuGet能够令你在项目中添加、移除和更新引用的工作变得更加快捷方便。

通过NuGet你可以很容易的访问到其他开发者发布的软件包,你也可以创建、分享或者发布自己的包到NuGet。

使用方法:

$ nuget config -set http_proxy=http://myproxy.com:port

示例如下:

$ nuget config -set http_proxy=http://10.20.220.241:808

aria2c

Aria2是一个轻量级多协议和多源命令行下载实用工具。它支持HTTP/HTTPS、FTP、SFTP、BT和Metalink。通过内置Aria2可以操作json-rpc和xml-rpc。

这是一个很有用的命令。比如,用它来下载百度网盘上的分享的文件,可以不受百度规定的大小和速度的限制。因为一般来说,百度会对过大的文件只允许用百度网盘的客户端工具进行下载。当然,如果只是用它特定的工具下载也无所谓,但如果不是百度的会员,下载的速度会被限制得比较慢。

使用方法:

$ export {http,https,ftp}_proxy=http://myproxy.com:port
$ aria2c http://host/file ...

或:

$ aria2c --all-proxy='http://myproxy.com:port' http://host/file

示例如下:

$ export {http,https,ftp}_proxy=http://10.20.220.241:808
$ aria2c --all-proxy='http://10.20.220.241:808' http://host/file ...

aria2c --all-proxy='http://10.20.220.241:808' http://host/file ...

pip

pip 是一个安装和管理 Python 包的工具,python安装包的工具有easy_install, setuptools, pip,distribute等。distribute是setuptools的替代品,是对标准库disutils模块的增强,我们知道disutils主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。distribute被创建是因为Setuptools包不再维护了。而pip是easy_install的替代品。

使用方法:

pip --proxy http://myproxy.com:port install ... 

示例如下:

$ pip --proxy http://10.20.220.241:808 install scrapy
    原文作者:DEO
    原文地址: https://segmentfault.com/a/1190000005054767
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞