我正在objective-c 中创建torrent scraper,并且我正在使用AFNetworking处理HTTP 请求。我需要为跟踪器请求发送元信息部分的 sha1 哈希。我已成功创建哈希并验证它是正确的。我不能将散列放入 NSString 中,因为它不编码二进制数据,所以我将其放入 NSData 对象中,然后放入要发送的参数中。这就是我现在所拥有的,但我总是得到一个错误,我认为这是我用来发送哈希的方法。我也尝试过对哈希进行 url 编码,然后将其放入 NSString 中,但无济于事
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
unsigned char infoHash[20];
[self.tracker generateTorrentInfoHash:infoHash];
const char peer_id[20] = "randomstringfornow";
[parameters setObject:[NSData dataWithBytes:&infoHash length:20] forKey:@"info_hash"];
[parameters setObject:[NSData dataWithBytes:&peer_id length:20] forKey:@"peer_id"];
[parameters setObject:@(8080) forKey:@"port"];
[parameters setObject:@(0) forKey:@"uploaded"];
[parameters setObject:@(self.tracker.metaInfo.totalFileSize) forKey:@"left"];
[parameters setObject:@(0) forKey:@"downloaded"];
[parameters setObject:@(0) forKey:@"compact"];
[parameters setObject:@"stopped" forKey:@"event"];
[self getPath:@"" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"%@",operation.responseString);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@",operation.responseString);
}];
有谁知道是否有可能使用 AFNetworking 做到这一点,或者我希望错过一些简单的东西。