繁体   English   中英

如何翻译此 curl 命令,使其在 PHP 脚本中工作?

[英]How can I translate this curl command so that it works in a PHP script?

CLI CURL -> PHP CURL(仅获取标题)

curl \
 --head \
 --request GET \
 --silent \
 --header 'Authorization: Bearer XXX' \
 http://example.com/remote/foler/file.zip

我只需要获取响应头,而不需要每次都下载整个文件。

我还需要使用 GET 方法,因为远程服务器限制了我。

据我所知,这不是一个真正的问题,更像是一项任务。 对此的响应在 PHP 手册http://php.net/manual/es/book.curl.php 中 特别检查CURLOPT_HEADER

如果您的 php 版本等于或高于 5.5,您可以检查http://guzzle.readthedocs.org/en/latest/overview.html作为 cURL 上的抽象层。

和往常一样,在 Stackoverflow 中搜索以查看问题或类似问题是否已经存在: https ://stackoverflow.com/search?q=curl+headers。 这将有助于保持问题和答案的质量。

只需采取几个步骤。 1.初始化 2.设置选项 3.执行 4.关闭连接

<?php

$url = "www.example.com";

//initilise
$ch = curl_init();

//set the option
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);

//no body
curl_setopt($ch, CURLOPT_NOBODY, 1);

//set the method 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');    

// request header
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);

//execute
$result = curl_exec($ch);
$information = curl_getinfo($ch);

//close the connection
curl_close($ch);


echo '-- REQUEST HEADER --------------------------'.PHP_EOL;
print_r($information['request_header']);
echo '--------------------------------------------'.PHP_EOL;
echo PHP_EOL;
echo '-- RESPONSE HEADER -------------------------'.PHP_EOL;
print_r($result);
echo '--------------------------------------------'.PHP_EOL;

Curl 默认使用 GET。 如果您想将其设置为 POST 方法,则该选项是 CURLOPT_POST。 您可以设置很多选项,请查看 php.net 手册。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM