我的意思是,我想打开另一个网站上的图像文件,但他们有某种服务器端脚本,仅在浏览器上设置了某个cookie的情况下提供图像。
我是否可以在 cookie 标头中发送fopen
调用?
是的,您可以通过配置 HTTP 流上下文来控制 HTTP 请求,包括添加 Cookie。
查看手册中的此示例:http://php.net/stream-context-create
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: enrn" .
"Cookie: foo=barrn"
)
);
$context = stream_context_create($opts);
/* Sends an http request to www.example.com
with additional headers shown above */
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
另请参阅 http://php.net/manual/en/context.http.php,了解所有 HTTP 上下文选项。