如何将此命令行curl转换为php curl?

如何将此命令行curl转换为php curl?,php,curl,command-line,command,Php,Curl,Command Line,Command,我有一段命令行代码要翻译成php。我在挣扎 这是一行代码 $ curl -H "Authorization: 622cee5f8c99c81e87614e9efc63eddb" https://api.service.com/member 大字符串将是一个变量,我将传递给它 这在PHP中是什么样子的?您应该查看PHP中的curl.*函数。 使用curl\u setopt()可以设置请求的标题 1)您可以使用 2) 你可以用 3) 如果您只想将信息作为字符串,则可以使用 <?php //

我有一段命令行代码要翻译成php。我在挣扎

这是一行代码

$ curl -H "Authorization: 622cee5f8c99c81e87614e9efc63eddb" https://api.service.com/member
大字符串将是一个变量,我将传递给它


这在PHP中是什么样子的?

您应该查看PHP中的
curl.*
函数。 使用
curl\u setopt()
可以设置请求的标题

1)您可以使用

2) 你可以用

3) 如果您只想将信息作为字符串,则可以使用

<?php
// Create a stream
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Authorization: 622cee5f8c99c81e87614e9efc63eddb"
  )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents('https://api.service.com/member', false, $context);
?>

您首先需要分析该行的作用:

$ curl -H "Authorization: 622cee5f8c99c81e87614e9efc63eddb" https://api.service.com/member
这并不复杂,您会发现所有开关都已打开:

:(HTTP)获取网页时要使用的额外标头。您可以指定任意数量的额外标头。[……]

您可以在PHP中通过添加标题(所有可用选项的说明见):

如果curl被阻止,您也可以使用PHP的HTTP功能来实现这一点,即使curl不可用(如果curl在内部可用,则需要curl):

$ curl -H "Authorization: 622cee5f8c99c81e87614e9efc63eddb" https://api.service.com/member
$ch = curl_init('https://api.service.com/member');
// set URL and other appropriate options
$options = array(        
    CURLOPT_HEADER => false,
    CURLOPT_HTTPHEADER => array("Authorization: 622cee5f8c99c81e87614e9efc63eddb"),
);
curl_setopt_array($ch, $options);
curl_exec($ch); // grab URL and pass it to the browser
curl_close($ch);
$options = array('http' => array(
    'header' => array("Authorization: 622cee5f8c99c81e87614e9efc63eddb"),
));
$context = stream_context_create($options);
$result = file_get_contents('https://api.service.com/member', 0, $context);