add private_url & put_file methods; refactor some code

增加了私有下载网址，并因此重构了部分代码。