As palavras-chave headers
value devem ser string ou buffer?
Se as palavras-chave dnt
e upgrade-insecure-requests
value são string ou buffer , está certo, mas o valor é int, está errado. Por que isso?
Direito:
'dnt': '1',
'upgrade-insecure-requests': '1',
Errado:
'dnt': 1,
'upgrade-insecure-requests': 1,
Porque?
@ wut0n9 Esta mudança de comportamento não está na v2.10.0, mas no branch master atual.
No entanto, esse é um bug real: # 3366 regrediu isso. @nateprewitt , você está interessado em tentar atualizar com uma correção para isso?
Os cabeçalhos devem sempre ser strings. Não acho que seja uma regressão significativa, se é que é uma regressão. Sempre documentamos que os valores do cabeçalho devem ser strings.
Independentemente do que documentamos, isso costumava funcionar e agora não funciona. Vamos quebrar um _lote_ de código se não mudarmos isso de volta.
Sim, vou resolver isso @Lukasa.
Veja também https://github.com/kennethreitz/requests/issues/865 e https://github.com/kennethreitz/requests/pull/866
Eu não sei quanto um "lote" realmente é neste caso.
@ sigmavirus24 vinculou-se às opiniões anteriores relevantes, que sugerem que, na verdade, não permitimos valores de cabeçalho não-string. Então isso significa que não é um bug: fomos nós fazendo uma revisão que está dentro do escopo da definição da API.
@Lukasa certo, estou francamente surpreso que não tenha quebrado antes. O significado de não bytes / str como um valor de cabeçalho é indefinido, tanto quanto eu estou preocupado.
Comentários muito úteis
Independentemente do que documentamos, isso costumava funcionar e agora não funciona. Vamos quebrar um _lote_ de código se não mudarmos isso de volta.