Android libvlc定制用户代理

时间:2018-01-26 00:36:18

标签: android user-agent libvlc

大家。我使用this repo

中的libvlc

工作得很漂亮,但用户代理总是发送 LibVLC / 3.0.0-git ,即使它有一个方法setUserAgent,您可以在其中指定自定义的方法。它总是添加LibVLC / 3.0.0-git,例如,如果我这样做:

libvlc.setUserAgent("my_custom_user_agent","my_custom_user_agent");

它发送到远程服务器:

User-Agent: my_custom_user_agent LibVLC/3.0.0-git

有没有人使用过这个库并设法摆脱LibVLC / 3.0.0-git用户代理的一部分???

任何帮助将不胜感激。

提前致谢

1 个答案:

答案 0 :(得分:0)

拉了我的头发一段时间后。解决方案是手动构建VLC核心。并修改在.c文件中附加其值的硬编码字符串

在官方报告中,文件

VLC / LIB / core.c

包含:

void libvlc_set_user_agent (libvlc_instance_t *p_i,
                                    const char *name, const char *http)
        {
            libvlc_int_t *p_libvlc = p_i->p_libvlc_int;
            char *str;

            var_SetString (p_libvlc, "user-agent", name);
            if ((http != NULL)
             && (asprintf (&str, "%s VLCLib/"PACKAGE_VERSION, http) != -1))
            {
                var_SetString (p_libvlc, "http-user-agent", str);
                free (str);
            }
}

这是the link我用于手动构建它的说明。