문서를 확인했습니다.
--add-header FIELD:VALUE Specify a custom HTTP header and its value,
separated by a colon ':'. You can use this
option multiple times
하지만 나는 모르겠고 아마 그러지 않을 것이다.다른 사람들도 좀 있어.
그래서 홈페이지에 이런 질문을 했는데요.지원 페이지. 이 대답은 기껏해야 모호합니다. 그러나 팁은 다음과 같습니다.
쉘에 대한 FAQ를 읽어보세요.
그렇다면 파일에 헤더를 설정하는 올바른 방법은 무엇입니까 youtube-dl.conf
?
--add-header Accept-Encoding:"identity;q=1, *;q=0"
또는,
--add-header 'Accept-Encoding: identity;q=1, *;q=0'
또는,
--add-header "Accept-Encoding: identity;q=1, *;q=0"
답변1
코드를 더 깊이 파고들면(경험적으로 확인하지 않음) 구성 파일은 다음과 같이 구문 분석됩니다._readOptions
어느 전화compat_lex_split
그것은 함수를 호출합니다shlex.split
POSIX 모드의 Python 표준 라이브러리에서. 이는 쉘 인용의 근사치입니다(그리고 쉘 문서를 읽는 것이 오해의 소지가 있을 정도로 다릅니다). 간단히 말해서 규칙은 다음과 같습니다.
- 인용되지 않은 주석은
#
줄 끝까지 실행되는 주석을 시작합니다. - 따옴표가 없는 공백은 단어를 구분합니다.
- 백슬래시는 다음 문자를 나타내고, 백슬래시+ 문자는 두 번째 문자를 나타냅니다.
- 작은따옴표 안의
'…'
모든 문자는 문자 그대로 간주됩니다. - 큰따옴표 내에서
"…"
백슬래시는 백슬래시나 큰따옴표가 백슬래시나 큰따옴표인 경우에만 다음 문자를 인용하고 다른 모든 내용은 문자 그대로 간주됩니다.
여기 몇 가지 예가 있어요.
foo '' bar
→foo
, 빈 단어, 열foo#bar
→foo
"foo bar"baz
→foo barbaz
"\f\\"
→\f\
'\f\\'
→\f\\
\f\\
→f\
그리고 다음은 모두 동일합니다.
--add-header Accept-Encoding:"identity;q=1, *;q=0"
--add-header Accept-Encoding:'identity;q=1, *;q=0'
--add-header Accept-Encoding:identity;q=1,\ *;q=0
--add-header 'Accept-Encoding: identity;q=1, *;q=0'
--add-header "Accept-Encoding: identity;q=1, *;q=0"