added urlopen timeout setting to avoid API call stuck.