CLI CURL - > PHP CURL(只获取标题)
curl \
--head \
--request GET \
--silent \
--header 'Authorization: Bearer XXX' \
http://example.com/remote/foler/file.zip
我只需要获取响应标头而不必每次都下载整个文件。
我还需要使用GET方法,因为远程服务器会限制我。
答案 0 :(得分:0)
据我所知,这不是一个真正的问题,更是一项任务。对此的响应在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 :(得分:0)
只需要采取几个步骤。 1.Initialize 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手册。