标签: curl

如何使用命令行 curl 指定 SSL 端口?

我正在尝试在我的一台服务器上测试 SSL 连接。服务器位于 LB 后面,因此它正在侦听端口 8090 上的 SSL 连接。

--resolve在与侦听端口 443 的 LB 通话时,我使用该选项进行测试。

curl --resolve 'myservice.com:443:1.1.1.1' 'https://myservice.com'
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时:

curl --resolve 'myservice.com:8090:2.2.2.2' 'https://myservice.com:8090'
Run Code Online (Sandbox Code Playgroud)

curl 只是忽略端口并使用 443。当然,这会导致 DNS 缓存丢失,我最终使用公共 DNS IP ...

* Added myservice.com:8090:2.2.2.2 to DNS cache
* About to connect() to myservice.com port 443 (#0)
*   Trying 3.3.3.3...
* Connected to myservice.com (3.3.3.3) port 443 (#0)
Run Code Online (Sandbox Code Playgroud)

如何强制 curl 使用端口 8090 进行 SSL 连接?

谢谢。

ssl port curl

10
推荐指数
2
解决办法
7万
查看次数

curl: (35) SSL 连接错误

我正在尝试向 Twitter API 发出 cURL HTTPS 请求,但出现此错误:

[root@webscoming httpdocs]# curl -v https://api.twitter.com
About to connect() to api.twitter.com port 443 (#0)
Trying 199.16.156.199... connected
Connected to api.twitter.com (199.16.156.199) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
NSS error -5990
Closing connection #0
SSL connect error
curl: (35) SSL connect error
Run Code Online (Sandbox Code Playgroud)

我在另一台服务器上尝试过这个,它按预期工作。该错误是什么意思,我该如何解决?

我的服务器运行的是 CentOS 6.5 版。

请注意:我可以正确连接https://encrypted.google.com,但不成功https://api.twitter.com

curl

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

使用 Internet Explorer 为长时间运行的数据 API 调用 PHP/CURL 导致 Apache 2 服务器冻结并需要重新启动

我正在运行一个 PHP 程序,只要它不被 Microsoft Internet Explorer 浏览器调用,它就可以正常工作,之后它会生成以下进程,锁定 Apache 2 并需要重新启动 Web 服务器(在 Ubuntu 12.04 LTS 上)。

bob@drools:/etc/php5/apache2# ps auxwww | grep apache2
root      8737  0.1  2.5 369164 25800 ?        Ssl  12:41   0:00 /usr/sbin/apache2 -k start
www-data  8743  0.0  3.2 393748 33268 ?        Sl   12:41   0:00 /usr/sbin/apache2 -k start
www-data  8755  0.1  3.3 393856 33904 ?        Sl   12:41   0:00 /usr/sbin/apache2 -k start
www-data  8779  0.1  3.2 393724 33252 ?        Sl   12:45   0:00 /usr/sbin/apache2 -k start
www-data  8782  0.1  3.2 393716 33236 …
Run Code Online (Sandbox Code Playgroud)

php internet-explorer curl apache-2.2

10
推荐指数
1
解决办法
850
查看次数

cURL 或 SSL 问题,如何解决?

我不断收到此错误:

No cURL data returned for https://XXX.XXXX.XXX:XXXX [0] SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Run Code Online (Sandbox Code Playgroud)

我不确定,或者我可以说,我不知道这是什么问题。以及如何解决这个问题?请帮忙!

ssl ssl-certificate curl

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

“curl: (56) SSL read: errno -5961”错误的根本原因

我正在评估一些 SSL 故障,并注意到当我使用curl其中一个故障站点时,我得到了curl: (56) SSL read: errno -5961; 但是,我对该错误的 google 查询没有显示 openssl 失败的原因。

问题: curl 失败是什么意思curl: (56) SSL read: errno -5961


我包括以下完整curl...

[mpenning@mpenning-lnx ~]$ curl -vk https://192.0.2.168/
* About to connect() to 192.0.2.168 port 443 (#0)
*   Trying 192.0.2.168... connected
* Connected to 192.0.2.168 (192.0.2.168) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* warning: ignoring value of ssl.verifyhost
* skipping SSL peer certificate verification
* SSL connection using TLS_RSA_WITH_AES_256_CBC_SHA …
Run Code Online (Sandbox Code Playgroud)

ssl timeout tcp curl

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

curl 在 https 请求上成功,wget 没有

当我运行curl命令行

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

它立即成功,返回请求的结果。

当我运行相同的 wget 命令时

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

它最终因“无法建立 SSL 连接”而超时。没有任何具体的错误信息。它可以连接,但无法进行 SSL 握手。我试过了,--no-check-certificate但这没有什么区别 - 它似乎与超时有关。

然而:

wget http://example.com
Run Code Online (Sandbox Code Playgroud)

工作正常(HTTP 与 HTTPS)。

这也影响了PHP 的“ file()方法调用。

我的问题是,什么会导致 curl 成功检索页面(对于我们域中的所有站点)而不是 wget 或 php 解释器?这是周末的新问题,服务器之前很好。

(操作系统为 Red Hat Enterprise Linux 6.4)

ssl wget curl

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

curl 详细输出中的“服务器 ****** 未列入黑名单”是什么意思?

为什么要把服务器列入黑名单?

通过 curl 或其他程序?

服务器如何被列入黑名单?

它是服务器还是程序相关的?

这是被列入黑名单的 IP 地址,还是 http 答案中的服务器名称?

PS:我不知道它是否相关,但我在 Linux/Ubuntu 上运行。

这是完整的输出(在本地主机中测试龙卷风)

> * Rebuilt URL to: localhost:8888/
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8888 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:8888
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Fri, 16 May 2014 16:35:40 GMT
< Content-Length: 12
< Etag: "e02aa1b106d5c7c6a98def2b13005d5b84fd8dc8"
< Content-Type: text/html; charset=UTF-8
* Server TornadoServer/3.2 is …
Run Code Online (Sandbox Code Playgroud)

linux curl

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

如何记录来自 PHP + cURL 的传出 http 请求?

我有一个 PHP 脚本设置,每当在站点上执行操作时都会发出 cURL 请求。问题是每当操作运行时,信息都会被发布两次。

我需要弄清楚这是否是我的问题(cURL 运行了两次)或者它 POST 到的 URL 是否正在执行两次操作。

我想最好的方法是查看来自服务器的传出 http POST 请求。

这是最好的选择吗?如果是这样,我该怎么做?

linux ubuntu php curl

8
推荐指数
1
解决办法
3万
查看次数

使用 curl 发出硬超时的 HEAD 请求

我想使用curl向 URL 发送 HTTP HEAD 请求以验证它是否正常工作(服务器已启动并发送成功响应)。最后,我需要返回的最终 HTTP 响应代码和 URL(在遵循任何重定向之后)。最后,我需要设置一个硬超时(一段时间后调用将失败,无论请求curl位于何处)。

是否curl支持这一切?我需要使用哪些选项来完成此操作?

http url timeout http-headers curl

8
推荐指数
1
解决办法
2万
查看次数

cURL 是所有类 Unix 操作系统的标准部分吗?

我正在编写一个需要从 Internet 下载一些数据的 shell 脚本,我只是在想是否可以依靠cURL它预装在所有 Unix 发行版上。
我知道wget默认情况下不在 OS X 上,但在 OS XcURL上。我还记得我cURL在 Ubuntu Server 上安装,但已经一两年了。我今天尝试了 Ubuntu Server 12.04,它是cURL开箱即用的。

unix curl

7
推荐指数
3
解决办法
6753
查看次数

标签 统计

curl ×10

ssl ×4

linux ×2

php ×2

timeout ×2

apache-2.2 ×1

http ×1

http-headers ×1

internet-explorer ×1

port ×1

ssl-certificate ×1

tcp ×1

ubuntu ×1

unix ×1

url ×1

wget ×1