Articles of curl

在CentOS 7上用curl和wget慢速响应

我的问题是,我无法弄清楚为什么使用curl和wget得到如此慢的响应时间。 当我说慢的时候,我的意思是一个页面最less需要五六秒钟,而这个页面只需要一秒钟或更less的时间。 我已经testing了各种场景,但是我似乎无法做出任何改变。 我的服务器是:CentOS Linux版本7.3.1611(核心) 我试图解决这个问题,因为它会减慢新安装的WordPress应用程序。 我最终确定(使用Xdebug),而不是问题是WP,它似乎是使用curl的PHP调用。 随后,我一直在从命令行进行testing,没有任何其他应用程序。 所以,例如: $ curl -o /dev/null "http://techrepublic.com" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 178 100 178 0 0 30 0 0:00:05 0:00:05 –:–:– 41 它的URL并没有什么区别,但如果我使用的是IP地址,而不是域名 ,那么根本就没有问题。 使用wget同样的问题也是如此。 所以,我尝试过的一些事情是: a)更改/etc/resolv.conf中的DNS服务器 b)curl和wget也有同样的效果 c)与http和https都有同样的效果 d)重量级和轻量级页面的效果相同 e)在Windows 10,相同的networking,相同的路由器等上进行curltesting,大约需要一秒钟或更less的时间 f)作为普通用户进行testing,并以root身份进行testing […]

从httptest(Zabbix)获取当前状态

我试图使用PHP / CURL来查询Zabbix,并find一个服务是否可用。 从Zabbix Web界面,我得到这个屏幕,显示testing和它的状态。 Zabbix Web界面 我想要得到这个数据(testing名称和状态)为JSON为了显示在另一个应用程序。 我发布了以下JSON: {"jsonrpc":"2.0","method":"httptest.get", "params": {"output":"extend"},"auth":"XXXXXXXXXXXXXXX","id":0}' 哪个返回testing,但不是它的状态。 我应该使用什么json请求来接收状态标志(Ok / NOk)?

xinetd脚本返回200确定,但curl获取权限被拒绝

我试图build立一个简单的http检查xinetd来validation奴隶滞后: https : //githubengineering.com/context-aware-mysql-pools-via-haproxy/ 我使用以下configuration设置了xinetd检查: https://gist.github.com/ethan-riskiq/fab3dd7e0bd0e3a2547c6ad52d706b73 当我在本地运行脚本时工作正常,但由于某种原因,服务的curl不起作用,并返回拒绝的权限: [root@db09 ~]# curl -XPOST localhost:9976/check-lag ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 如果我将密码硬编码到脚本中,也会得到相同的错误。 下面是一个正在调用的xinetd脚本示例: https : //gist.github.com/ethan-riskiq/9421a907b473e22db945e0a743f4c212

如何对特定服务器执行HTTPS请求?

我想在将它们添加到负载平衡器之前检查特定的服务器。 负载平衡器只是在TCP级别转发到实例,实例正在处理SSL握手。 问题是我无法获得SSL握手的工作。 目前正在尝试使用curl请求: » curl "https://api.filestage.io/ping" –resolve "api.filestage.io:443:52.58.200.141" -v -I * Added api.filestage.io:443:52.58.200.141 to DNS cache * Hostname api.filestage.io was found in DNS cache * Trying 52.58.200.141… * TCP_NODELAY set * Connected to api.filestage.io (52.58.200.141) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * successfully set certificate […]

可以curl同步或从窗口上的本地文件夹镜像到一个网站使用http?

希望使用Powershell来刷新Windows上的本地目录,并使用一组可随时间变化的文件。 不pipe它是什么types的文件。 我可以告诉curl镜像什么是在本地文件夹到目标url目录?

无法findecdh参数

我正在使用SLES 11 SP4盒子,并尝试连接到主机api.onedrive.com。 几天后,这个连接断开,并返回: # curl https://api.onedrive.com curl: (35) error:1408D13A:SSL routines:SSL3_GET_KEY_EXCHANGE:unable to find ecdh parameters 我怀疑随SLES 11一起提供的OpenSSL版本无法处理此连接。 有一些backports存储库或其他方式来使这些连接再次工作?

如何包装/存根PHP的curl?

我有需要包装一个PHP扩展,特别是curl。 我如何抽象/包装curl库来logging请求,并使用自定义脚本或PHP逻辑来确定请求是否应该发送? 诀窍是在基础设施级别执行此操作,以便我们的用户代码不需要修改,但是我仍然可以完成logging和过滤传出的http请求的需求? 至less我需要弄清楚如何logging它们。 我的栈是nginx,php7.2-fpm。

是否有相当于nscurl ats-diagnostics的Powershell?

我知道,自El Captain以来,nscurl即将在MacOS上发布,但是我想知道是否有一种方法可以使用PowerShell获得类似的结果。 这个答案显示了如何获得证书,但它不等同于运行: nscurl ats-diagnostics https://google.com:443 在macOS上。 在Windows端有没有这样的东西?

TCP源端口增加2,即使curl / wget也是如此

当使用curl和wget时,如果没有手动设置源端口(如curl中的–local-port),则源TCP端口将始终为偶数,并将递增2而不是1。 EG:在tcpdump中,当我build立连接时,我看到使用的源端口45080,然后下一个连接将使用45082,而不是45801.使用本地端口我可以强制它使用奇数端口,并确认tcpdump成功使用。 这是在networkingtesting床上引起我的问​​题,我不能在我的生活中找出什么是控制隐式的TCP端口select。 我可以改变范围,但我不能改变“增量”。 使用centos7和“3.10.0-514.el7.x86_64”内核。 在tcpdump中,我看到了使用wget和curl的相同行为,这导致我相信这不是一个curl特定的问题,而是正在用于select端口的机制。 另外,如果我看到使用端口45080curl,例如,我知道下一个端口将使用45082.如果我强制50000的本地端口,然后再curl没有 – 本地端口,它将是45082,就像一个单独的计数器递增它,不受任何“最后”使用的端口是什么影响。 或者,如果做同样的事情,而不是强制端口50000,而不是强制端口50000,我强迫它使用45082,它的端口,它可以挑选,然后我再次使用curl,而不强迫本地端口,它会select45083 ,那么如果再次select45084,那么45086 … 如果我将范围限制到奇数个端口,唯一的方法是自然地select一个奇数。 是否有一个系统调用,或者某种内核操作来拾取源端口,有没有办法改变它? 谢谢!

EC2实例curl错误

我有两个ec2实例,即e1和e2。 e1中的一个项目的公共IP是http://xx.xx.xxx.xx:3005 。 我已经login到我的第一个实例e1,并从根,我试图执行curl请求 curl http://xx.xx.xxx.xx:3005 / v1 / some_api 它成功执行,我得到了响应数据。 我从第二个实例e2的根目录尝试相同的请求,我得到了回应: curl:(7)无法连接到xx.xx.xxx.xx端口3005:连接被拒绝 我可以从本地连接相同的。 如果我试图从e2从默认端口ping e1我可以连接。 这两个实例使用相同的安全组。 入站和出站3005端口。 有什么办法可以解决这个问题吗?