草庐IT

curl_arr

全部标签

php - 无法通过 HTTPS 获取 file_get_contents 或 cURL

我一直在用file_get_contents多年来抓取网站的内容。最近,他们将URL更新为HTTPS和file_get_contents停止工作。我已经阅读了以前的问题并尝试了标记的解决方案,但没有任何效果。例如,我试过this,并返回以下内容:openssl:yeshttpwrapper:yeshttpswrapper:yeswrappers:array(0=>'https',1=>'ftps',2=>'compress.zlib',3=>'compress.bzip2',4=>'php',5=>'file',6=>'data',7=>'http',8=>'ftp',9=>'zip'

php - 如何在测试公共(public)代理时可靠地重现 curl_multi 超时

相关信息:issue3602onGitHub我正在从事一个收集和测试公共(public)/免费代理的项目,并注意到当我使用curl_multi接口(interface)测试这些代理时,有时我会遇到许多28(timeout)错误。如果我单独测试每个代理,这永远不会发生。问题是这个问题的重现性不可靠,它不会总是出现,它可能是curl中的某些东西或其他东西。不幸的是,我不是一个如此深入的网络调试器,我不知道如何在更深层次上调试这个问题,但是我写了2个C测试程序(其中一个最初是writtenbyDanielStenberg但我修改了它输出为与其他C程序相同的格式)。这2个C程序使用curl测试

php - 如何将 cURL 的 '@' 语法用于远程 URL?

我知道这是真的:...youcanpostafilethatisalreadyonthefilesystembyprefixingthefilepathwith"@".但是,我正在尝试使用非本地的cURL发布文件。它存储在其他一些URL上。假设这张照片是Google'slogo(不是)。其网址为https://www.google.com/images/srpr/logo11w.png。所以我认为你会做这样的事情:$file=file("https://www.google.com/images/srpr/logo11w.png");//somemorestuff//definePOS

PHP curl 连接超时错误

我在PHP中使用curl调用API,有时它工作正常,有时我得到Failedtoconnecttoapi-domain.comport80:Connectiontimedout有点奇怪,有时它能工作,有时却不能。要解决我打印的curl_getinfo()无法正常工作的问题,请在下方检查。它显示连接时间=0和总时间=130秒,我不太确定这是什么意思。如果有人对此有很好的了解,请查看以下日志并帮助我了解确切的问题是什么。[url]=>http://api-domain.com/?act=get_story_banners[content_type]=>text/html;charset=UT

php - 从 curl 或 get_video_info 抓取 youtube 视频 URL

所以,我正在开发一个php项目,其中一部分是抓取一个youtube视频url并将其插入到一个html5视频标签中。我正在使用curl调用http://youtube.com/get_video_info?video_id=XXX并在我的本地机器上获取正确的视频文件url。但是,当我将我的代码上传到我的网络服务器并尝试运行它时,所有视频URL都不起作用。网址看起来不错,但有些参数(例如IP)有所不同。我不明白为什么它可以在我运行xampp或mamp的本地计算机上运行,​​但不能在我的Web服务器上运行。我什至尝试在youtube视频页面上做一个curl,并注意到在本地,它会输出页面并播放

php - 使用 cURL 和 PHP 为同一键和文件上传混合多个值

我遇到了PHP的cURL绑定(bind)限制。似乎没有简单的方法可以为后域的相同键发送相同的多个值。我遇到的大多数解决方法都涉及手动创建URL编码的帖子字段tag=foo&tag=bar&tag=baz)而不是使用CURLOPT_POSTFIELDS的关联数组版本。需要支持似乎是一件很常见的事情,所以我觉得我一定错过了什么。这真的是处理同一个键的多个值的唯一方法吗?虽然这个解决方法可能被认为是可行的(如果不是真的很烦人的话),但我的主要问题是我需要能够为同一个键执行多个值并且还支持文件上传。据我所知,文件上传或多或少需要使用CURLOPT_POSTFIELDS的关联数组版本。所以我觉得

K8S容器内安装cur/telnet命令(Alpine Linux离线环境安装curl/telnet或其他工具)

背景需求:微服务的基础是镜像,通常在最小化的Linux镜像中安装jdk,然后运行编译好的java程序。将镜像运行到K8S上就得到了微服务Pod,Pod通常使用安装K8S时配置的私有网段,与宿主机不同。很多时候需要排查从Pod网段内访问K8S宿主机网段、其它外部Linux网段或域名接口等等,需要在Pod容器内执行curl或telnet等常用命令。但普遍最常用的最小化的Linux容器镜像AlpineLinux中默认没有curl、telnet等工具,需要手动安装。解决:方式一:(推荐不能停机的Pod使用)在个人电脑上创建可以上网的alpineLinux容器,获取curl安装包,传输到K8S容器内手动

PHP cURL 内容长度和内容类型错误

我正在尝试通过PHPcURL登录网站,但只收到“错误请求”响应。我研究了hosts文件并将其设置到我的服务器以检查我的浏览器发送了哪些请求header并将其与cURL发送的请求header进行比较。一切都是平等的,除了:浏览器:Content-Type:application/x-www-form-urlencodedContent-Length:51PHPcurl:Content-Length:51,359Content-Type:application/x-www-form-urlencoded;boundary=----------------------------5a377b

php - curl JSON 时 POST 为空

我正在使用curl发送:curl-i-H"Accept:application/json"-H"Content-type:application/json"-XPOST-d"{firstname:james}"http://hostname/index.php我正在尝试在index.php中显示这样的POST哪些输出array(0){}我一定是对通过POST发送JSON数据有误解谢谢你的时间 最佳答案 $_POST是一个数组,只有当您以URL编码格式发送POST正文时才会填充它。PHP本身不会自动解析JSON,因此不会填充$_POS

php - 在使用 curl 时,出于安全原因,如何使我的 cacert.pem 保持最新状态?

我想让我的根证书保持最新,以便与cURL和PHP的内部curl命令一起使用,但是目前没有参数可以下载正确安全连接所需的当前文件并保持它是最新的。在PHP中使用curl进行安全连接的示例需要名为cacert.pem的文件(用于验证远程连接的PEM编码证书链)如下所示:$ch=curl_init();curl_setopt($ch,CURLOPT_URL,"https://www.google.com");curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,15);curl_setopt($ch,CURLOPT_TIMEOUT,15);curl_setopt($c