基于浏览器的YouTube在Firefox 16中的上传意外中止



我有一个常规的YouTube浏览器上传表单,如下所示。它在IE,Chrome和Firefox的较旧版本中效果很好。但是,我的Firefox 16.0.2只是挂在帖子上。我已经在使用Firefox 16.x的其他计算机上复制了该问题。

如果我通过以下方式将YouTube的URL手动覆盖SSL,则文件可以正确上传: https ://uploads.gdata.youtube.com > http ://uploads.gdata.youtube.com 。

为了使事情变得陌生,该请求根本没有在firebug的 net 标签上记录。在Firefox的 Web控制台上,我可以看到该请求,但是完全缺少响应和状态代码。然后,如果我将提示器与解密HTTPS流量选项启用了正确的文件上传。

任何人都有任何想法,如果没有解决问题,可能会发生什么或如何监视SSL流量?

<!DOCTYPE html>
<html>
    <head><title>YouTube Test</title></head>
    <body>
        <form id="frmYouTube" enctype="multipart/form-data" method="post" action="https://uploads.gdata.youtube.com/action/FormDataUpload/YOU_TUBE_URL?nexturl=https%3a%2f%2fMY.DOMAIN.COM%2fDIR_1%2fDIR_2%3fid2%3dLOCAL_ID">
        <table>
            <tr><td><input type="file" name="file" /></td></tr>
            <tr><td>
                    <input type="hidden" name="token" value="MY_YOUTUBE_TOKEN" />
                    <input type="submit" value="Upload" />
            </td></tr>
        </table>
        </form>
</body>
</html>

使用Google.gdata.youtube库在后端生成YouTube URL和令牌。这是该代码的一部分:

public class BaseModel
{
    public string SITE_YOUTUBE_APP_NAME = "";
    public string SITE_YOUTUBE_DEV_KEY = "";
    public string SITE_YOUTUBE_USERNAME = "";
    public string SITE_YOUTUBE_PASSWORD = "";
    public string YOUTUBE_CATEGORY = "";
    public FormUploadToken FormToken;
    public void Load()
    {
        YouTubeRequestSettings settings = new YouTubeRequestSettings(
            SITE_YOUTUBE_APP_NAME, SITE_YOUTUBE_DEV_KEY,
            SITE_YOUTUBE_USERNAME, SITE_YOUTUBE_PASSWORD);
        YouTubeRequest request = new YouTubeRequest(settings);
        Video newVideo = new Video();
        string title = "Test Title";
        string description = "Test Description";
        newVideo.Title = title;
        newVideo.Tags.Add(new MediaCategory(YOUTUBE_CATEGORY, YouTubeNameTable.CategorySchema));
        newVideo.Keywords = "test";
        newVideo.Description = description;
        newVideo.YouTubeEntry.Private = false;
        FormToken = request.CreateFormUploadToken(newVideo);
    }
}

来自我的测试YouTube浏览器上传的上传非常气质,有时它在大多数情况下都起作用(1-5%的机会),我只是使用54.243.53.37上传了视频/Home/index在Windows 7上使用Firefox 16,但我知道大多数时候它不会初始化。

但是,禁用防火墙会增加上载成功上传的机会。不知道为什么这是这样的(当然可能是幸运的观察)。

由于现在可以使用Firefox 17,并且Google不能完全支持Firefox 16的此功能,因此我添加了Firefox 16的用户的警告,以升级到Firefox 17或使用其他浏览器。并不理想,但这是唯一一个合理的解决方案,因为在Firefox 16中未能成功的测试用户数量。

相关内容

  • 没有找到相关文章

最新更新