Ширина sha1 составляет 20 байтов. Длина шестнадцатеричной строки длиной 40 символов используется только для людей. Таким образом, вам нужно выполнить шестнадцатеричное декодирование перед кодировкой url.
Я пытаюсь отправить HTTP-запрос в Torrent Tracker, который должен быть с этой формой:
bt1.archive.org GET /announce?info_hash=ACC3B2E433D7C7475ABB5941B5681CB7A1EA26E2 HTTP/1.1 Host: bt1.archive.org Connection: keep-alive Accept: text/html User-Agent: CSharp
Но info_hash
параметр должен быть UrlEncoded, и он должен выглядеть так:, %AC%C3%B2%E4%33%D7%C7%47%5A%BB%59%41%B5%68%1C%B7%A1%EA%26%E2
поэтому я использую
System.Net.WebUtility.UrlEncode(info_hash)
И выход такой же, как и вход. Я думаю, что ответ на эту проблему очевиден, но я ее не нашел ...
c#,.net,url,bittorrent,torrent,