title: boto3 upload file to s3 error when bucket name has period
body: <p>I am coding a python script to upload file to s3 with boto3. My bucket name is like 'my.bucket', and I get the connect time out error. </p>
  
  <p>Here is the error code.</p>
  
  <pre><code>    botocore.vendored.requests.exceptions.ConnectTimeout:        
      HTTPSConnectionPool(host='s3-ap-northeast-1.amazonaws.com', port=443):      
      Max retries exceeded with url: /pandarental.com/app.css (Caused by 
      ConnectTimeoutError(&lt;botocore.awsrequest.AWSHTTPSConnection object at 
      0x108ff6350&gt;, 'Connection to s3-ap-northeast-1.amazonaws.com timed out.         
      (connect timeout=60)'))
  </code></pre>
  
  <p>I tried to change the bucket name to 'mybucket' and it worked!
  I have no idea what's wrong in it， boto3 doesn't support bucket name with period?</p>
  
  <p>Here is my code:</p>
  
  <pre><code>    class StorageManage():
      def __init__(self, bucket_name):
        s3 = boto3.resource('s3')
        self.bucket = s3.Bucket(bucket_name)
  
      def putObject(self, file_name, key, type):
        try:
          t = content_type.get(type,{})
          with open(file_name, 'rb') as data:
              new_object = self.bucket.put_object(Key=key, Body=data, 
                  ACL=t.get('ACL',''), 
                  ContentType=t.get('ContentType',''), 
                  CacheControl=t.get('CacheControl',''),
                  ContentEncoding=t.get('ContentEncoding',''))
  
          print 'upload file %s success' % new_object.key 
      except botocore.exceptions.ClientError as e:
          print e
      return None
  </code></pre>
  
  <p>btw, I found two issues: <a href="https://github.com/boto/boto/issues/2836" rel="nofollow">this one</a> and <a href="https://github.com/boto/boto3/issues/334" rel="nofollow">this one</a>, said that config address_style=path in ~/.aws/config can work. I tried but failed. </p>