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

时间:2015-07-01 13:39:15

标签: php curl

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

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

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

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

2 个答案:

答案 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手册。