标签: curl

我怎么可能做主机查找而不是卷曲?

有没有人见过这个?请注意,这不仅发生在 google.com 上,而且发生在我尝试的每个域中。这是一个无线连接 (WEP),但我不确定这有什么关系:

$ curl -v google.com
# This takes about 60s to return
* getaddrinfo(3) failed for google.com:80
* Couldn't resolve host 'google.com'
* Closing connection #0
curl: (6) Couldn't resolve host 'google.com'

$ wget google.com
--2011-11-28 14:44:08--  http://google.com/
Resolving google.com... failed: Name or service not known.
wget: unable to resolve host address `google.com'

$ ping google.com
PING google.com (209.85.148.147) 56(84) bytes of data.
64 bytes from fra07s07-in-f147.1e100.net (209.85.148.147): icmp_req=2 ttl=54 time=136 ms
64 bytes from fra07s07-in-f147.1e100.net (209.85.148.147): …
Run Code Online (Sandbox Code Playgroud)

domain-name-system wifi curl

24
推荐指数
4
解决办法
5万
查看次数

在 bash 中并行执行 curl 请求

从 bash 脚本执行 5 个curl请求的最佳方法是什么parallel?出于性能原因,我无法串行运行它们。

multi-core smp wget curl

23
推荐指数
3
解决办法
10万
查看次数

卷曲:无法获得本地颁发者证书。如何调试?

我有一个奇怪的问题。将我的 LAMP 开发机器 (Debian) 更新为 PHP 7。之后我无法再通过 Curl 连接到特定的 TLS 加密 API。

有问题的 SSL 证书由 thawte 签名。

curl https://example.com
Run Code Online (Sandbox Code Playgroud)

给我

curl: (60) SSL certificate problem: unable to get local issuer certificate
Run Code Online (Sandbox Code Playgroud)

然而

curl https://thawte.com
Run Code Online (Sandbox Code Playgroud)

当然,这也是 Thawte 作品的签名。

我可以在其他机器上通过 HTTPS 访问 API 站点,例如我的桌面通过 curl 和浏览器。所以证书绝对有效。SSL 实验室评级为 A。

从我的开发机器到其他 SSL 加密站点的任何其他 Curl 请求都有效。我的根证书是最新的。为了验证,我跑了update-ca-certificates。我什至将http://curl.haxx.se/ca/cacert.pem下载到 /etc/ssl/certs 并运行c_rehash.

还是一样的错误。

有什么方法可以调试验证过程并查看哪个本地颁发者证书 curl(或 openssl)正在寻找但未找到,即文件名?

更新

curl -vs https://example.com
Run Code Online (Sandbox Code Playgroud)

告诉我(IP+域名匿名)

* Hostname was NOT found in DNS cache
*   Trying 192.0.2.1...
* …
Run Code Online (Sandbox Code Playgroud)

ssl openssl ssl-certificate tls curl

21
推荐指数
1
解决办法
9万
查看次数

使用 curl 下载文件中列出的网址?

我有一个文件,其中包含我需要从中下载的所有 url。但是我需要限制一次下载。即下一个下载应该只在前一个下载完成后开始。这可以使用 curl 吗?或者我应该使用其他任何东西。

curl

20
推荐指数
3
解决办法
4万
查看次数

CURL 是否缓存请求?

这是一个很长的问题,所以请耐心等待。

我想强调我从 AWS 实例登录的 Akamai 服务器。所以,我开始运行 ab 基准测试。然而,他们下载大约 3 MB 的视频文件似乎快得离谱。我自然想看看发生了什么。这就是我为获取文件所做的工作

curl -v -o /dev/null

以上操作在约 5 秒内完成。

接下来,我再次运行相同的命令。这一次,它在大约 200 毫秒内完成!当然,我的直觉是文件被缓存在某个地方。

我的问题:

  1. curl 是否缓存文件?如果是这样,有没有办法忽略它?
  2. 如果 curl 没有,ubuntu 是否在 curl 下抽象了一个缓存?如果是这样,有没有办法忽略它?
  3. 考虑到这些要求,您认为除了 ab 之外还有其他基准测试工具可以达到此目的吗?

谢谢你,阿克谢

cache cdn curl ab ubuntu-14.04

20
推荐指数
2
解决办法
4万
查看次数

curl (56) Recv 失败:连接由对等方重置 - 当点击 docker 容器时

从 AWS ec2 实例(运行docker),我正在尝试使用curl我的 docker 容器托管的 Web 服务。

鉴于:

[ec2-user]$ docker ps
CONTAINER ID        IMAGE                                                                COMMAND                  CREATED             STATUS              PORTS                                        NAMES
b56fa0d76d5c        $REGISTRY/$WORK/metrics:v0.1.0   "/bin/sh -c 'sh /root"   3 minutes ago       Up 3 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:9000->9000/tcp   insane_leakey
Run Code Online (Sandbox Code Playgroud)

我可以从容器内访问 Web 服务:

[ec2-user]$ docker exec -it b56fa0d76d5c bash
root@b56fa0d76d5c:/# curl 'http://localhost/health'
Request is missing required query parameter 'apiName' 
Run Code Online (Sandbox Code Playgroud)

但是,我无法从主机中找到它:

[ec2-user]$ curl 'http://localhost/health'
curl: (56) Recv failure: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)

我查看了有关此错误的详细答案curl,但不确定如何调试此问题。

networking curl docker

20
推荐指数
2
解决办法
12万
查看次数

Ubuntu 10.04/CURL:如何修复/更新 CA Bundle?

我最近将我们的服务器从 8.04 升级到 10.04,以及所有的软件。

从我在网上找到的内容来看,新版本的 CURL 似乎不包含 CA 包,因此无法验证您正在连接的服务器的证书是否由有效机构签名.

实际错误是:

CURL 错误:SSL 证书问题,验证 CA 证书是否正常。
详细信息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:
证书验证失败 

我发现的一些地方建议手动指定 CA 文件或通过在调用 CURL 时设置一个选项来完全禁用检查,但我更愿意全局修复该问题,而不必修改每个应用程序的 CURL 调用。

有没有办法在服务器范围内修复 CURL 的 CA 问题,以便所有现有的应用程序代码按原样运行而无需修改?

ubuntu curl

19
推荐指数
3
解决办法
6万
查看次数

如何在 cron 作业中使用 curl?

我需要在 cpanel 中设置一个 cron 作业,每周调用一次 URL(在同一台服务器上)。我打算使用wget但事实证明这在正在使用的共享服务器上被禁用。

wget有替代品吗?我听说可以使用curl,但我不知道如何在 cron 命令中进行设置。

另外,让 cronjob 在完成时什么都不做的命令是什么?

任何想法都非常感谢!

cron curl

19
推荐指数
3
解决办法
13万
查看次数

在 ubuntu 11.10 中安装 libcurl4-gnutls-dev 或 libcurl4-nss-dev 有什么区别?

对于我在 ubuntu 服务器中安装的软件,它需要 curl deb 包。当我尝试安装时,libcurl4-dev它说这是一个虚拟包,我需要安装libcurl4-gnutls-devlibcurl4-nss-dev. 安装一个或另一个有什么区别?

PS:安装 libcurl3 或 libcurl4 有什么大的区别吗?

ubuntu curl ubuntu-11.10

18
推荐指数
1
解决办法
7506
查看次数

“tlsv1 alert unknown ca”是什么意思?

我正在尝试使用客户端证书进行 curl 请求,如下所示:

curl -E my.pem https://some.site
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

curl: (35) error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
Run Code Online (Sandbox Code Playgroud)
  • 这是什么意思?
  • 这个投诉是来自我连接的服务器还是我的 curl 客户端?
  • (我如何确定)在这种情况下 ca 是什么?
  • 我如何使它成为已知的ca?

ssl openssl ssl-certificate curl certificate-authority

18
推荐指数
1
解决办法
9万
查看次数