add a option to control retry times.
make robust _request really works.