php - 您可以添加要在跨域 fopen 调用上发送的 http header 吗?

标签 php http cross-domain fopen

我的意思是,我想打开另一个网站上的图像文件,但他们有某种服务器端脚本,仅在浏览器上设置了某个 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/

相关文章:

javascript - ASP.NET跨域模态窗口(window.showModalDialog)-参数值始终为 "undefined"

angularjs - 存在 CORS header 的跨源请求被阻止

http - 保持事件请求 _change 连续供稿

php - 如何仅将当月的第一个和第三个星期二输入到 PHP 的表单字段中?

php - 如何根据数据库验证密码?

java - 使用 RegEx 查找两个 XML 标记之间的所有内容

java - 在 Url 查询参数中区分空值和空字符串 ("")

java - 如何从 HTTP 响应中获取 mongodb objectId

google-chrome - Chrome + CORS +缓存-从两个不同的来源请求相同的文件

javascript - 如何将 <td> 的 name 属性发送给函数?