如何使用PHP的标头发送GET请求?

时间:2013-10-08 22:17:21

标签: php http curl header get

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

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

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

 "X-Header-Name: $foobar" 

foobar来自已定义的php变量。

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

<?php

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

?>

1 个答案:

答案 0 :(得分:2)

如果您不想使用file_get_contents但不确定速度但php的内置功能curl不是speed,则可以使用curl。在谈到$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); f($data) { // do something with data } 时,我认为无论你使用什么进行远程请求,速度/性能将取决于网络连接速度而不是函数/库,并且可能在这些中有一点不同(curl / file_get_contents / fsockopen)但我认为这将是一个非常小的(1-2%)并且你无法发现差异,它看起来几乎相同。

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 } ,那么您可以使用此

{{1}}

另外,check this answer,它可以帮助您做出决定。