How to set HTTP User-Agent for VLC?

vlc
Eric Stdlib picture Eric Stdlib · Apr 30, 2018 · Viewed 17.9k times · Source

I am using VLC's command line option --http-user-agent, but it does not seem to work.

My command is

$ vlc --http-user-agent 'FooBar/1.2.3' 'http://wiki.videolan.org/'

And when I use tcpdump -Xlnn dst port 80 to capture the packets, I see

0x0030:  8eff 035b 4745 5420 2f20 4854 5450 2f31  ...[GET./.HTTP/1
0x0040:  2e31 0d0a 486f 7374 3a20 7769 6b69 2e76  .1..Host:.wiki.v
0x0050:  6964 656f 6c61 6e2e 6f72 670d 0a41 6363  ideolan.org..Acc
0x0060:  6570 743a 202a 2f2a 0d0a 4163 6365 7074  ept:.*/*..Accept
0x0070:  2d4c 616e 6775 6167 653a 207a 685f 434e  -Language:.zh_CN
0x0080:  0d0a 5573 6572 2d41 6765 6e74 3a20 564c  ..User-Agent:.VL
0x0090:  432f 332e 302e 3220 4c69 6256 4c43 2f33  C/3.0.2.LibVLC/3
0x00a0:  2e30 2e32 0d0a 5261 6e67 653a 2062 7974  .0.2..Range:.byt
0x00b0:  6573 3d30 2d0d 0a0d 0a                   es=0-....

which means that the User-Agent part is not changed (still the default of VLC).

Am I misunderstanding the usage of this option? Or is this a bug in VLC?

My version is VLC media player 3.0.2 Vetinari (revision 3.0.2-0-gd7b653cf14)

Answer

mathew11 picture mathew11 · Sep 1, 2018

$ vlc 'http://wiki.videolan.org/' :http-user-agent='FooBar/1.2.3' seems to do the trick (replaced -- by : and put the attribute after the url). I guess this is probably the way how the windows version expects the attributes, since in the GUI, you also have to add those attributes starting with : (I've only evaluated this from the VLC debug logs)