我的意思是,我想打开另一个网站上的图像文件,但他们有某种服务器端脚本,仅在浏览器上设置了某个 cookie 时才提供图像。
我是否可以通过 fopen
调用发送 cookie header ?
最佳答案
是的,您可以通过配置 HTTP 流上下文来控制 HTTP 请求,包括添加 cookie。
从手册中查看此示例:http://php.net/stream-context-create
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$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 上下文选项。
关于php - 您可以添加要在跨域 fopen 调用上发送的 http header 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19898364/