jak uruchomić youtube-dl przez serwer proxy


15

Chcę pobrać film z YouTube za pośrednictwem youtube-dl przez serwer proxy, ale pokazuje wymagane uwierzytelnienie

kod:

http_proxy="http://username:password@proxy:port/" youtube-dl url

pokazuje błąd uwierzytelnienia

Odpowiedzi:


14
proxychains youtube-dl [options] LINK

proxychansdomyślnie korzysta z usługi tor , jeśli masz własne proxy, edytuj ostatni wiersz /etc/proxychains.confpliku.


sudo apt-get install proxychains tor obfsproxy

Jeśli chcesz używać Tora, skonfiguruj go tak, aby używał obfs2 .


1
Moje instalacje proxychains-ngpracowały z Torem po wyjęciu z pudełka. Co sprawia, że ​​mówisz, że powinniśmy skonfigurować go tak, aby używał obfs2 ? (Być może w 2013 roku proxychainspotrzebowałeś więcej konfiguracji?)
palswim

tak, działa po proxychains torwyjęciu z pudełka. i 17 MB mniej miejsca na dysku.
poezja smutku

9

możesz użyć opcji proxy do polecenia.

youtube-dl --proxy socks5://127.0.0.1:1080 url

Jeśli chcesz używać proxy do wszystkich dalszych wywołań, utwórz plik konfiguracyjny

Linux / OSX: ~ / .config / youtube-dl / config

Windows:% APPDATA% \ youtube-dl \ config.txt

z zawartością

--proxy socks5://127.0.0.1:1080

6


dla aktualnej wersji youtube-dl możesz użyć przełącznika --proxy

na przykład
$youtube-dl --proxy http://user:password@your_proxy.com:port url

działa dla mnie dobrze


5

Ta składnia wywołania jest teraz przestarzała.

Ze strony pomocy:

--proxy URL                      Use the specified HTTP/HTTPS proxy. Pass in an empty string (--proxy "") for direct connection
--cn-verification-proxy URL      Use this proxy to verify the IP address for some Chinese sites. The default proxy specified by --proxy (or none, if the options is not present) is used for the actual downloading.

Jeśli więc nie używasz chińskich serwerów proxy, polecenie powinno brzmieć:

youtube-dl [OPTIONS] --proxy 'http(s)://PROXY_URL:PROXY_PORT' URL

Wybór pomiędzy http lub https w zależności od typu proxy.

Możesz także spróbować przetestować serwer proxy bezpośrednio przy użyciu urllib2:

#!/usr/bin/python
import urllib2
import sys
url = sys.argv[1]
response = urllib2.urlopen(url)
html_string = response.read()
print html_string
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.