使用带参数的 file_get_contents 从 PHP 获取请求
Posted
技术标签:
【中文标题】使用带参数的 file_get_contents 从 PHP 获取请求【英文标题】:GET Request from PHP using file_get_contents with parameters 【发布时间】:2011-11-13 05:57:31 【问题描述】:我想向外部站点发送 GET 请求,但也想发送一些参数
例如,我必须向 example.com 发送 get 请求
我想执行 www.example.com/send.php?uid=1&pwd=2&msg=3&phone=3&provider=xyz
我的代码是:
$getdata = http_build_query(
array(
'uid' => '1',
'pwd' => '2',
'msg'=>'3',
'phone'=>'9999',
'provider'=>'xyz'
)
);
$opts = array('http' =>
array(
'method' => 'GET',
'content' => $getdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://example.com/send.php', false, $context);
我收到服务器错误。
【问题讨论】:
服务器错误说什么? 【参考方案1】:content
选项用于POST
和PUT
请求。对于GET
,您可以将其附加为查询字符串:
file_get_contents('http://example.com/send.php?'.$getdata, false, $context);
此外,method
默认为GET
,因此您甚至不需要设置选项,也不需要创建流上下文。因此,对于这种特殊情况,如果您愿意,可以简单地使用第一个参数调用 file_get_contents
。
【讨论】:
感谢您的回复:之前的代码正在向服务器发送一些数据,但请求没有得到正确处理。但是,使用您建议的代码并出现错误“HTTP Error 1.1” cURL 在处理这类请求等方面不是更好吗? @redskin 你能帮我解决一下 cURL 吗?谢谢 确定人.. 加我Skype @ redskins80。如果我在线,不要犹豫发送一个嗡嗡声! @Anant 1.1 错误? 500?这可能与脚本的接收部分有关。检查你的 php 日志以上是关于使用带参数的 file_get_contents 从 PHP 获取请求的主要内容,如果未能解决你的问题,请参考以下文章
重构file_get_contents实现一个带超时链接访问的函数
allow_url_fopen和file_get_contents
如果发生重定向,如何在 file_get_contents 之后获取真实的 URL?
file_get_contents 加上 file_exists (在被调用的文件内)