【发布时间】:2011-10-28 11:57:10
【问题描述】:
如果 cURL 不可用,我想使用 fopen 发送 HTTP 请求。我从 PACKT RESTful PHP 书中获得了一个类的代码,但它不起作用。任何想法为什么?
if ($this->with_curl) {
//blah
} else {
$opts = array (
'http' => array (
'method' => "GET",
'header' => array($auth,
"User-Agent: " . RESTClient :: USER_AGENT . "\r\n"),
)
);
$context = stream_context_create($opts);
$fp = fopen($url, 'r', false, $context);
$result = fpassthru($fp);
fclose($fp);
}
return $result;
}
【问题讨论】:
-
您能否更具体地说明为什么“它不起作用”?
-
.... 并发布 auth 的内容。
-
另外,我刚刚注意到,您使用的是
fpassthru()。如果您希望$result包含实际响应,则不能使用该函数,因为它会将结果溢出到输出缓冲区并且不返回它。 -
身份验证是“用户名:密码”。我已经尝试删除它,但仍然没有得到任何东西。我还按照建议删除了 fpassthru() ,但仍然没有。 “它不起作用”是指当我回显 $result 时没有输出任何内容。我得到一个空白页...感谢您的帮助。