如何在 cURL 中使用代理:完整指南
在命令行 HTTP 请求中使用 GProxy 代理与 cURL。涵盖 HTTP、HTTPS、SOCKS5 代理类型、身份验证以及高级选项。
准备事项
- ✓[
- ✓"
- ✓已
- ✓安
- ✓装
- ✓
- ✓c
- ✓U
- ✓R
- ✓L
- ✓
- ✓7
- ✓.
- ✓x
- ✓+
- ✓(
- ✓多
- ✓数
- ✓系
- ✓统
- ✓已
- ✓预
- ✓装
- ✓)
- ✓"
- ✓,
- ✓
- ✓"
- ✓拥
- ✓有
- ✓有
- ✓效
- ✓代
- ✓理
- ✓套
- ✓餐
- ✓的
- ✓
- ✓G
- ✓P
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓账
- ✓号
- ✓"
- ✓,
- ✓
- ✓"
- ✓终
- ✓端
- ✓访
- ✓问
- ✓权
- ✓限
- ✓(
- ✓L
- ✓i
- ✓n
- ✓u
- ✓x
- ✓、
- ✓m
- ✓a
- ✓c
- ✓O
- ✓S
- ✓
- ✓或
- ✓
- ✓W
- ✓i
- ✓n
- ✓d
- ✓o
- ✓w
- ✓s
- ✓
- ✓W
- ✓S
- ✓L
- ✓)
- ✓"
- ✓]
分步设置
[
{
"
T
I
T
L
E
"
:
"
确
认
已
安
装
C
U
R
L
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
检
查
您
的
C
U
R
L
版
本
"
,
"
C
O
D
E
"
:
"
C
U
R
L
-
-
V
E
R
S
I
O
N
"
}
,
{
"
T
I
T
L
E
"
:
"
发
起
一
次
基
本
的
代
理
请
求
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
使
用
-
X
参
数
通
过
G
P
R
O
X
Y
转
发
"
,
"
C
O
D
E
"
:
"
C
U
R
L
-
X
H
T
T
P
:
/
/
U
S
E
R
:
P
A
S
S
@
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
"
}
,
{
"
T
I
T
L
E
"
:
"
使
用
S
O
C
K
S
5
代
理
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
通
过
S
O
C
K
S
5
端
点
转
发
"
,
"
C
O
D
E
"
:
"
C
U
R
L
-
X
S
O
C
K
S
5
:
/
/
U
S
E
R
:
P
A
S
S
@
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
1
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
"
}
,
{
"
T
I
T
L
E
"
:
"
设
置
国
家
定
向
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
定
向
到
指
定
国
家
"
,
"
C
O
D
E
"
:
"
C
U
R
L
-
X
H
T
T
P
:
/
/
U
S
E
R
-
C
O
U
N
T
R
Y
-
D
E
:
P
A
S
S
@
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
"
}
,
{
"
T
I
T
L
E
"
:
"
使
用
环
境
变
量
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
为
所
有
请
求
全
局
设
置
代
理
"
,
"
C
O
D
E
"
:
"
E
X
P
O
R
T
H
T
T
P
_
P
R
O
X
Y
=
H
T
T
P
:
/
/
U
S
E
R
:
P
A
S
S
@
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
\
N
E
X
P
O
R
T
H
T
T
P
S
_
P
R
O
X
Y
=
H
T
T
P
:
/
/
U
S
E
R
:
P
A
S
S
@
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
\
N
C
U
R
L
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
"
}
,
{
"
T
I
T
L
E
"
:
"
用
详
细
输
出
进
行
测
试
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
用
-
V
参
数
调
试
代
理
连
接
"
,
"
C
O
D
E
"
:
"
C
U
R
L
-
V
-
X
H
T
T
P
:
/
/
U
S
E
R
:
P
A
S
S
@
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
"
}
]
代码示例
为什么要在 cURL 中使用代理?
cURL 是发起 HTTP 请求的通用命令行工具,几乎所有 Linux、macOS 和 Windows 系统都预装了它。为 cURL 配置 GProxy 代理后,您可以测试代理连接、通过不同 IP 调试 API 调用,并编写用于自动采集数据的 shell 脚本。借助 GProxy 覆盖 150+ 国家的 10M+ 住宅 IP,您可以直接在终端里从任意地区发起请求。
基本代理语法
cURL 通过 -x 或 --proxy 参数支持代理,格式为 -x protocol://user:pass@host:port。GProxy 支持 HTTP、HTTPS 和 SOCKS5 协议,全部可通过这一个参数配置。
身份验证方式
GProxy 在 cURL 中支持两种身份验证方式:在代理 URL 中内联填写凭据,以及 IP 白名单验证(无需凭据)。使用内联验证时,把用户名和密码直接写在代理 URL 里。使用 IP 白名单时,只需在 GProxy 控制台中添加您本机的 IP,然后无需凭据即可使用代理。
SOCKS5 与 HTTP 代理对比
cURL 同时支持 HTTP 和 SOCKS5 代理。常规网页请求使用 HTTP 代理(-x http://...)。当需要代理非 HTTP 流量,或目标要求 SOCKS5 时,使用 SOCKS5(-x socks5://...)。GProxy 在不同端口上提供这两种选项。
环境变量
用环境变量为所有 cURL 请求设置代理:export HTTP_PROXY=http://user:[email protected]:1000 以及 HTTPS_PROXY。当您希望所有 HTTP 流量都走 GProxy 而不必修改每条命令时,这对 shell 脚本和 CI/CD 流水线非常有用。
国家定向
在 GProxy 用户名中加入国家代码即可定向到指定国家:USER-country-us、USER-country-de 等。这会让请求通过该国家的住宅 IP 发出,对测试有地区限制的 API 或验证本地化内容非常必要。
