В течение пары часов я пытаюсь загрузить файл на https://api.imgur.com/3/image, но он случайно завершается с Failure IO: Stream 3 reset with error code 1
или чем-то таким же бессмысленным. Мне удалось справиться с тем, что иногда imgur сервер выбирает h2 вместо http / 1.1, и это те случаи, когда вызов не удался. Вот журналы (из charles ), когда он терпит неудачу:
URL https://api.imgur.com/3/image
Status Failed
Failure IO: Stream 3 reset with error code 1
Response Code -
Protocol HTTP/2.0
TLS TLSv1.2 (TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)
Protocol TLSv1.2
Session Resumed Yes (Server session resumed, client session restarted)
Cipher Suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ALPN h2
Client Supported [h2, http/1.1]
Server Chosen h2
Charles Supported [h2, http/1.1]
А вот журналы, когда это удалось (для случаев успеха, которые я заставил в клиенте поддерживать только и только http / 1.1) так что imgur server не может выбрать его):
URL https://api.imgur.com/3/image
Status Complete
Response Code 200 OK
Protocol HTTP/1.1
TLS TLSv1.2 (TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)
Protocol TLSv1.2
Session Resumed No
Cipher Suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ALPN http/1.1
Client Supported [http/1.1]
Server Chosen http/1.1
Charles Supported [http/1.1]
Почему imgur иногда выбирает h2, а затем терпит неудачу? Это ожидается или задокументировано?