After I google for solution, changing the max_execution_time setting in php.ini configuration file does not solve this problem and have no effect. The only way is to change the code by adding set_time_limit(seconds) to class-http.php file.
Out of curious, I wonder where is the root cause which causes the php.ini setting taking no effect. At the end I come to this file /wordpress/wp-includes/functions.php, a function named wp_get_http, with @set_time_limit( 60 ) hard coded to 60 seconds.
It sounds weird to hardcode this, may I know why? and will it be better that admin can change this value via the wp-config.php?