0

如果这是一个重复的问题,请打电话给我,但这开始变得荒谬了。我想用 PHP:

 GET http://www.example.com/hello.xyz

并将此标头添加到请求中:

 "X-Header-Name: $foobar" 

其中 foobar 来自已定义的 php 变量。

然后将响应存储在变量中。而已!不多也不少。但是我找不到! 我不想使用 curl 或类似的东西,如果我每次都运行 curl 它会减慢它的速度。 编辑:我对使用 curl 的主要关注是与 Windows(本地服务器)与 Linux(部署服务器)的兼容性。

<?php

echo "So, how do I do it in the simplest way possible?";

?>
4

1 回答 1

3

如果您不想使用curl但不确定速度,则可以使用file_get_contents ,但它是内置函数,而不是。在谈论时,我认为无论您使用什么进行远程请求,速度/性能都将取决于网络连接速度而不是功能/库,并且这些(curl/file_get_contents/fsockopen)之间可能有些不同,但我认为它会很小(1-2%)并且你无法发现差异,它看起来几乎相同。phpcurlspeed

$opts = array(
  'http'=>array(
      'method'=>"GET",
      'header'=>"X-Header-Name: $foobar"
));
$context = stream_context_create($opts);
$data = file_get_contents('http://www.example.com/hello.xyz', false, $context);
if($data) {
    // do something with data
}

另外,如果你想使用,curl那么你可以使用这个

$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Header-Name: $foobar"));
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/hello.xyz");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
if ($curl_errno == 0) {
    // $data received in $data
}

另外,请检查此答案,它可能会帮助您做出决定。

于 2013-10-08T23:25:34.637 回答