使用带参数的file_get_contents从PHP获取请求

时间:2011-09-08 18:34:00

标签: php http get file-get-contents

我想向外部网站发送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 个答案:

答案 0 :(得分:27)

content选项与POSTPUT请求一起使用。对于GET,您只需将其作为查询字符串附加:

file_get_contents('http://example.com/send.php?'.$getdata, false, $context);

此外,method默认为GET,因此您甚至不需要设置选项,也不需要创建流上下文。因此,对于这种特殊情况,如果您愿意,可以使用第一个参数调用file_get_contents