Twitter REST API:可以热链接 Twitter 图像吗?为什么 Firefox 中不显示图像?

2024-05-07

我正在尝试从 Twitter REST API 中提取图像并显示这些图像。

因此,我陷入了逻辑僵局,因为我的 PHP/HTML 代码未在本地主机 PHP 内置开发服务器的浏览器中显示图像。我更喜欢 Firefox,因为它是更安全(私密)的浏览器,因此我首先在 Firefox 中进行开发。

我认为图像不显示的问题可能是 Twitter 不允许热链接到其图像的问题,但是我刚刚在 Chrome 和 Internet Explorer 浏览器中测试了相同的代码(如下),并且所有图像都显示正常。

所以我的[更新]问题是:为什么这些图像没有出现在 Firefox 或 Firefox Developer Edition 浏览器中? Twitter 显然不存在热链接到通过其 API 提取的图像的问题,正如图像在 Chrome 和 Internet Explorer 浏览器中显示良好所证明的那样。

谁有这个有趣问题的答案?

<!DOCTYPE html>
<html lang="en">
<head>
        <?php 

        // USED TO DEBUG WHY HTTPS WAS NOT WORKING IN THE BEGINNING
        // var_dump(stream_get_wrappers()); 

        ?>


        <?php 

            // REQUIRE TWITTEROAUTH LIBRARY
            require "twitteroauth/autoload.php";

            // I HAVE HACKED AROUND WITH THIS, BUT DON'T SEE WHY ABRAHAM IS NECESSARY SINCE THERE IS NO FOLDER NAMED ABRAHAM,
            // BUT CODE DOES NOT WORK WITHOUT THIS, SO LEAVE IT IN!  :)
            use Abraham\TwitterOAuth\TwitterOAuth;

            // DECLARE VARIABLES OF KEYS, SECRET, TOKEN, & TOKEN_SECRET
            $CONSUMER_KEY = "12345";
            $CONSUMER_SECRET = "12345";
            $access_token = "12345";
            $access_token_secret = "12345"

            // DEFINE NEW CONNECTION VARIABLE: I.E. CONNECTION TO TWITTER VIA TWITTEROAUTH
            $connection = new TwitterOAuth($CONSUMER_KEY, $CONSUMER_SECRET, $access_token, $access_token_secret);

            // CREATE MULTIPLE-PARAMETER QUERY AS ARRAY
            $query = array(
              "q" => "#MickeyMouse",
              "count" => "1000",
              "include_entities" => "true"
            );

            // MAKE CONNECTION TO TWITTER, GET METHOD FOR "SEARCH/TWEETS", PASS ARRAY AS QUERY
            $result = $connection->get("search/tweets", $query);

            // TEST OUTPUT FOR DEBUGGING
            //var_dump($result);

            // CREATE VARIABLES:  NEW EMPTY ARRAYS
            $ArrayPhotoURLs = array();      

            // FOR LOOP,  
            foreach ($result->statuses as $content) {

                // IF EACH TWEET/STATUS HAS MEDIA,
                if (isset($content->entities->media)) {

                    // THEN GET THOSE MEDIA URLS
                    foreach ($content->entities->media as $media) {
                        $media_url = $media->media_url; // Or $media->media_url_https for the SSL version.

                        // AND ASSIGN/APPEND EACH MEDIA URL TO THE ARRAY OF MEDIA URLs
                        $ArrayPhotoURLs[] = $media_url; 

                        // TEST OUTPUT FOR DEBUGGING
                        //print(gettype($media_url));
                        //print_r($media_url);
                        //var_dump($media_url);
                    }

                }

            }

            // TEST OUTPUT FOR DEBUGGING
            //var_dump($ArrayPhotoURLs);

            // COUNT IMAGES IN ARRAY OF TWITTER IMAGE URLS - TO BE USED BELOW TO CREATE DYNAMIC LIST / ANCHOR / IMG ITEMS
            $imagecount = count($ArrayPhotoURLs); 

            // TEST OUTPUT FOR DEBUGGING
            echo $imagecount;
        ?>

</head>

<?php // HTML LAYOUT CODE BEGINS HERE ?>
<body style="">
    <div class="container">

        <div>
                <?php 
                    // FOR LOOP, PRINT HTML WITH URL AS BOTH A HREF & IMG SRC PARAMETERS & ANCHOR TEXT
                    foreach ($ArrayPhotoURLs as $PhotoURL) {

                        echo '<a href="',    $PhotoURL    ,'">',
                        '<img src="',$PhotoURL, '">', $PhotoURL,
                        '</img></a><br/>';
                    }
                ?>          
        </div>

    </div>
</body>
</html>

对于那些处于类似困境的人: Firefox 显然将域 pbs.twimg.com 视为跟踪器,并阻止与该子域进行的所有连接。考虑在浏览器中禁用跟踪保护或实施服务器端填充程序来预加载图像。

See: https://bugzilla.mozilla.org/show_bug.cgi?id=1458915 https://bugzilla.mozilla.org/show_bug.cgi?id=1458915

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Twitter REST API:可以热链接 Twitter 图像吗?为什么 Firefox 中不显示图像? 的相关文章

  • 如何在移动设备上使用纯 JavaScript 放大点击的图像

    我正在尝试创建单击时会放大的缩略图 目标是将选定的缩略图自身放大到设备的最大宽度 如果单击另一个缩略图 其图像将替换当前所选缩略图的图像 同一时间只能放大一张缩略图 图像应跨越设备的最大宽度 另外 我尝试使用纯 JavaScript 无 j
  • 如何解码这个 JSON 字符串?

    这是我从 feed finder url 中得到的字符串 JSON 编码 updated 1265787927 id http www google com reader api 0 feed finder q u003dhttp itca
  • 加载 HTML 格式的大型视频文件

    这是我的问题 我想播放存储在 S3 存储桶中的大型视频文件 3 6Gb 但该文件似乎太大 并且加载 30 秒后页面崩溃 这是我播放视频的代码 var video document getElementById video const med
  • 从存储库获取时,Doctrine 如何在不调用 __construct 方法的情况下创建实体?

    我在构造函数中编写了下一个代码 public function construct die creating entity 当我创建实体实例时new运算符如 entity new Entity 我看到creating entity text
  • Internet Explorer 不渲染从 JQuery ajax 帖子返回的 html

    我有一个带有输入框的页面 其 onkeyup 根据输入的内容 搜索字段 触发 JQuery ajax 帖子 ajax 调用回发的 html 应该填充页面上的另一个 div 这是 jquery ajax 帖子 var o me results
  • 无法居中对齐画布

    我一直在谷歌搜索解决方案但无济于事 我只想center align my canvas 我努力了float center text align center margin top 100px但我的舞台没有在浏览器中居中对齐 任何帮助表示赞赏
  • 数组到命名变量

    我该如何服用 userarray 这是一个数组 我知道它包含 3 个值 并将它们放入 3 个单独的变量中 而不是循环遍历 那里隔着 commas 所以爆炸会在某个地方发生 Say userfield1 userfield2 userfiel
  • 如何使用 PHP 通过 JSON 发送 HTML 元素?

    以下功能 try query this gt pdo gt prepare SELECT FROM bookings WHERE TourID AND dTourDate and Status NOT LIKE Cancelled quer
  • laravel 正则表达式验证不起作用

    我刚刚开始使用 laravel 正在努力验证我的表单之一中的文本区域 文本区域用于用户简介 因此我只想允许使用字母 数字 空格和以下字符 这就是我所拥有的 validator Validator make Input all array b
  • 如何在绝对定位的 div 内用 CSS 创建粘性页脚?

    我想创建一个粘性页脚inside绝对定位的 div 元素 我的方法是将页脚 div 也绝对定位 在另一个相对定位的 页面 div 内 其中包含页面的实际内容 div class content div class page Some Lor
  • https 重定向 laravel .htaccess 之后删除 /public

    我有一个 Laravel 页面部署在共享主机中 当我强制 http 请求重定向到 https 时 url 包含 public 我的根 htaccess 是 RewriteEngine on RewriteCond REQUEST URI p
  • 表格固定标题和第一列 css/html

    我有一个包含大量行和列的表 但我想固定标题和第一列 这是我需要的图片 只有粉色部分必须水平和垂直滚动 但其他部分在滚动过程中必须保持可见 我的表位于 div 中 首先 我应该使用一张桌子还是四张桌子 蓝色桌子 红色桌子 绿色桌子和粉色桌子
  • 如何实现Contenteditable属性的Ctrl+A功能?

    我正在尝试为用户显示带有一些示例代码的 div 我希望他们能够在 div 内部进行选择并使用 Ctrl A 选择所有示例代码 但我不希望他们能够编辑实际文本 以免意外删除一点 然后它不会工作 我现在通过 div 上的 contentedit
  • 动态重新定义 PHP 类函数?

    我试图弄清楚如何动态导入大量 PHP 类函数 例如 class Entity public function construct type require once type functions php person new Entity
  • SVG 过滤器在 Firefox 中不显示,在 Chrome 中工作正常

    我想要深色背景上的一段深色文本外面有白色的光芒 虽然默认阴影滤镜 https developer mozilla org en US docs Web CSS filter drop shadow 2在 CSS 中 比如filter dro
  • 使用 Laravel Socialite 登录 facebook

    然而 我是 Laravel 的新手 我正在遵循以下教程http www codeanchor net blog complete laravel socialite tutorial http www codeanchor net blog
  • Ace Editor 自动完成和多种语言

    如何为 Ace 编辑器创建自动完成功能以及如何突出显示 php 中的 html javascript 和 csshttp ace ajax org http ace ajax org
  • 等高列并将最后一项与底部对齐

    我有一个列表 其中每个li有嵌套容器 我尝试为所有列表项保留相同的高度 并将最后一个 div 推到底部 我将如何使用 flex 来做到这一点 ul list container display inline flex justify con
  • 单击行内的按钮时防止触发表行 onclick 事件

    我有一个带有 ONCLICK 事件的表行 切换下面的附加数据 在其中一个行单元格内有一个按钮 单击时执行 AJAX 操作 当我单击按钮时 行的 onclick 事件也会触发 并且会发生附加数据在 AJAX 调用完成之前出现 这对我来说是一个
  • CodeIgniter加入选择为

    我的数据库中有 2 个表需要加入 一张表是 artikelen 表 另一张表是 Collections 表 我目前有 this gt db gt select this gt db gt from collecties this gt db

随机推荐