【发布时间】:2013-10-16 01:43:27
【问题描述】:
如果这是一个重复的问题,请给我打电话,但这开始变得荒谬了。 我想用 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?";
?>
【问题讨论】:
-
像 curl 这样的库是最简单的方法。您使用的 任何 库都可能“减慢”脚本执行速度,因为需要时间的是请求本身。谷歌搜索
How do I send a GET request with a header from PHP?得到 2 个很好的结果,说明如何 -
如果出于性能原因不想使用 curl,则必须在 curl 中实现和测量它。你的代码哪里太慢了?
-
为什么不使用 cURL?它还将为您提供更多用于处理错误等的功能。此外,如果您担心在短时间内发出大量请求,您可以使用
curl_multi_exec()执行并行请求,这应该可以让您的脚本执行得更快,然后执行一系列串行shell_exec()命令或其他命令.我有一个不错的轻量级curl_multi_exec()REST 客户端github.com/mikecbrant/php-rest-client,您可以随意使用。 -
您可以在 PHP 中使用套接字函数。 php.net/manual/en/book.sockets.php。您只需手动完成 cURL 库所做的所有事情。
-
哦,我以为我会从 PHP 运行很多子进程。我担心的是,如果/当我切换到 Windows 进行本地测试时,我将不得不处理兼容性问题。