gift box gift box circle circle not found not found gift box dots shape
not found
  • 24
  • 10
  • 45
  • 10
立即购买
not found
静态住宅代理IP 最低 $8.54

$1.35 /月

购买
动态住宅代理IP 最低 $8.54

$3.25 /月

购买
数据中心代理IP 最低 $8.54

$4.35 /月

购买

距离50%优惠 还剩 26 天

如何使用cURL命令来查看代理IP?

本分步指南将解释如何通过代理服务器使用 cURL(或简称“curl”)。它涵盖了所有方面,从安装到解释设置代理的各种选项。

我们没有针对任何特定的代理服务。因此,本教程适用于所有代理服务器。您需要知道的只是服务器详细信息和凭据。

动态代理 高效实现对象的代理 (2).jpg

什么是卷曲?

cURL 是一个命令行工具,用于使用 url 发送和接收数据。让我们看一下使用curl 的最简单的示例。打开终端或命令提示符并输入以下命令并按 Enter:

这将获取页面的 HTML 并将其打印在控制台上。

curl https://www.google.com -I

这将打印文档信息。

HTTP/1.1 200 OKContent-Type: text/html; charset=ISO-8859-1

问题“什么是 cURL?” 我们之前的一篇文章也给出了答案。如果您想了解它如何成为如此普遍的资产,我们建议您阅读它。

安装

许多 Linux 发行版和 MacOS 都提供了 cURL。现在它也随 Windows 10 一起提供。

如果您的 Linux 发行版未附带它,您可以通过运行 install 命令来安装它。例如,在 Ubuntu 上,打开终端并运行以下命令:

如果您运行的是旧版本的 Windows,或者想要安装替代版本,可以从官方下载页面下载curl 。

连接到代理需要什么

无论您使用哪种代理服务,您都需要以下信息才能使用:

  • 代理服务器地址

  • 港口

  • 协议

  • 用户名(如果需要身份验证)

  • 密码(如果需要身份验证)

在本教程中,我们假设代理服务器是127.0.0.1,端口是1234,用户名是user,密码是pwd。我们将研究涵盖各种协议的多个示例。

笔记。如果您所在的网络使用 NTLM 身份验证,则可以在运行 curl 时使用开关–proxy-ntlm。类似地,--proxy-digest可用于摘要身份验证。您可以通过运行curl –help查看所有可用选项。本教程将提供必须指定用户名和密码的场景示例。

下一节将介绍第一个curl代理场景,这恰好是最常见的场景——使用curl进行HTTP和HTTPS代理。

将 cURL 与 HTTP/HTTPS 代理结合使用

如果您还记得,我们研究过在没有代理的情况下使用curl,如下所示:

curl https://httpbin.org/ip

这个特定的网站对于测试代理特别有用,因为该页面的输出是原始 IP 地址。如果您正确使用代理,页面将返回一个与您机器的IP地址不同的IP地址,即代理的IP地址。

有多种方法可以使用代理命令运行curl。下一节将介绍如何将代理详细信息作为命令行参数发送。此外,我们将探讨如何集成HTTPS 代理。

笔记。所有命令行选项或开关都区分大小写。例如,-f指示curl 静默失败,而-F表示要提交的表单。

在 cURL 中设置代理的命令行参数

打开终端并输入以下命令,然后按 Enter:

输出将是一个巨大的选项列表。其中之一看起来像这样:

请注意,x很小,并且区分大小写。可以使用-x或–proxy开关提供代理详细信息。两者的意思是一样的。带有代理命令的curl Bot是相同的:

curl -x "http://user:[email protected]:1234" "http://httpbin.org/ip"

或者

curl --proxy "http://user:[email protected]:1234" "http://httpbin.org/ip"

笔记。如果存在 SSL 证书错误,请在curl命令中添加-k(注意小k)。这将在使用 SSL 时允许不安全的服务器连接。

curl --proxy "http://user:[email protected]:1234" "http://httpbin.org/ip" -k

您可能已经注意到,代理 url 和目标 url 都用双引号引起来。这是处理 url 中特殊字符的推荐做法。

这里需要注意的另一个有趣的事情是默认代理协议是 http。因此,以下两个命令将执行完全相同的操作:

curl --proxy "http://user:[email protected]:1234" "http://httpbin.org/ip"curl --proxy "user:[email protected]:1234" "http://httpbin.org/ip"
curl with proxy


使用环境变量

通过curl 使用代理的另一种方法是设置环境变量http_proxy和https_proxy。 

请注意,使用环境变量设置代理仅适用于 MacOS 和 Linux。对于 Windows,请参阅下一节,其中解释了如何使用_curlrc _curlrc 文件。

如果您查看这些变量名称的第一部分,它清楚地显示了将使用这些代理的协议。它与代理服务器本身使用的协议无关。

  • http_proxy – 代理将用于访问使用 http 协议的地址

  • https_proxy – 代理将用于访问使用 https 协议的地址

只需将变量http_proxy设置为 http 代理地址,并将变量 https_proxy设置为 https 代理地址。打开终端并运行这两个命令。

export http_proxy="http://user:[email protected]:1234"export https_proxy="http://user:[email protected]:1234"

运行这两条命令后,正常运行curl。

如果您看到 SSL 证书错误,请添加 -k 以忽略这些错误。

这里要注意的另一件事是这些变量适用于整个系统。如果不需要这种行为,请通过取消设置这两个变量来关闭全局代理:

请参阅下一节,仅为curl设置默认代理,而不是系统范围的默认代理。

配置 cURL 以始终使用代理

如果您想要curl的代理而不是其他程序,可以通过创建curl配置文件来实现。

对于 Linux 和 MacOS,打开终端并导航到您的主目录。如果已有.curlrc文件,请打开它。如果没有,则创建一个新文件。以下是可以运行的命令集:

在此文件中,添加以下行:

保存文件。现在带有代理的curl 已经可以使用了。只需正常运行curl ,它就会从.curlrc文件中读取代理。

在 Windows 上,该文件名为_curlrc。该文件可以放置在%APPDATA%目录中。

要查找%APPDATA%的确切路径,请打开命令提示符并运行以下命令:

该目录类似于C:\Users\<your_user>\AppData\Roaming。现在转到此目录,创建一个新文件_curlrc,并通过添加以下行来设置代理:

这在 Linux、MacOS 和 Windows 中的工作方式完全相同。


Ignore or override proxy for one request


忽略或覆盖一个请求的代理

如果代理是全局设置的,或者通过修改.curlrc文件,仍然可以覆盖它以设置另一个代理,甚至绕过它。

要覆盖一个请求的代理,请照常使用-x或–proxy开关设置新代理:

curl --proxy "http://user:[email protected]:8090" "http://httpbin.org/ip"

如果您想完全绕过请求的代理,可以使用 cURL noproxy 命令,传递–noproxy后跟“*”。这指示 cURL 不要对所有 URL 使用代理。

curl --noproxy "*" "http://httpbin.org/ip"

如果您有许多需要在没有代理的情况下执行的curl 请求,但不更改系统范围的代理设置,则以下部分将向您展示具体如何执行此操作。

额外提示 - 快速关闭和打开代理

本技巧仅适用于高级用户。如果您不知道什么是 . bashrc文件是,您可以跳过本节。

您可以在.bashrc文件中创建别名来设置代理和取消设置代理。例如,使用任何编辑器打开.bashrc文件并添加以下行:

alias proxyon="export http_proxy=' http://user:[email protected]:1234';export https_proxy=' http://user:[email protected]:1234'"alias proxyoff="unset http_proxy;unset https_proxy"

添加这些行后,保存.bashrc并更新 shell 以读取此.bashrc。为此,请在终端中运行以下命令:

现在,每当您需要打开代理时,您都可以快速打开代理,运行一个或多个curl命令,然后关闭代理,如下所示:

proxyoncurl "http://httpbin.org/ip"curl "http://google.com"proxyoff

cURL 袜子代理

如果代理服务器使用socks协议,语法保持不变:

curl -x "socks5://user:[email protected]:1234" "http://httpbin.org/ip"

同样,根据socks版本,可以使用socks4://、socks4a://、socks5://或socks5h://。

或者,也可以使用开关–socks5而不是-x设置curlocks代理。您可以遵循相同的命令,但使用不同的开关:可以使用–proxy-user开关发送用户名和密码。

curl --socks5 "127.0.0.1:1234" "http://httpbin.org/ip" --proxy-user user:pwd

同样,可以使用–socks4、–socks4a或–socks5,具体取决于版本。

概括

cURL 是一个非常强大的自动化工具,在代理支持方面可以说是最好的命令行界面。最后,由于 libcurl 与 php 配合得很好,许多 Web 应用程序将其用于 Web 抓取项目,这使其成为任何 Web 抓取工具的必备工具。 



文章标签.