기본적으로 실험용으로 작은 추적기를 구축하고 있습니다. 나는 꽤 멀리있어, 지금 발표 부분에 노력하고있다.UrlEncoded 쿼리 문자열에서 info_hash를 계산합니다.
내가 실제로 알아낼 수없는 것은 제공된 info_hash 쿼리 문자열을 어떻게 디코딩해야하는지입니다.
사양에서, 그것은 날이 코드를 작성했다 20 바이트 SHA1 해시을, urlencode되고있다
'임시'다음 값을 제공byte[] foo = Encoding.Default.GetBytes(HttpUtility.UrlDecode(infoHash));
string temp = "";
foreach (byte b in foo)
{
temp += b.ToString("X");
}
,
5D3F3F3F3F5E3F3F3F153FE4033683F55693468
첫 번째와 마지막 몇 문자가 정확합니다. 내가 잘못 뭐하는 거지
5D96B6F6845EEADAC515C40E403368B955693468
, 이것은
%5d%96%b6%f6%84%5e%ea%da%c5%15%c4%0e%403h%b9Ui4h
원시 info_hash입니다 그리고 이것은 토런트 파일을 생성 할 때이 uTorrent 내 자신의 추적기 모두 info_hash 나를주는 무엇인가?
감사합니다! 이 예제는 매력처럼 작동하지만 하드 코딩 된 문자열을 info_hash 쿼리 문자열로 대체 할 때 모든 정보가 엉망이됩니다. var s = context.Request.QueryString [ "info_hash"] 쿼리 문자열의 문자열 값이 아니라 횡설수졸 한 문자열을 제공합니다. – Viktor
신경 쓰지 마라, 나는 문맥을 따라 갔다. 내가 거기에서 파싱해야 할 것 같네. 고맙습니다! – Viktor