First, run:
$ composer config --list --global        //this will get the composer home path.
[home] /root/.composer                   //it's my composer home path.And then, edit the config.json in [home] directory, make it like this:
{
  "config": {
    "github-protocols": [
      "https,ssh"
    ]
  },
  "repositories": {
    "packagist": {
      "type": "composer",
      "url": "https://packagist.org"
    }
  }
}It will make the packagist connection force https. And also you could config the composer.json in your project, this is a laravel sample would be look like:
{
  "name": "laravel/laravel",
  "description": "The Laravel Framework.",
  "keywords": [
    "framework",
    "laravel"
  ],
  "license": "MIT",
  "type": "project",
  "require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*"
  },
  "config": {
    "preferred-install": "dist"
  },
  "repositories": {
    "packagist": {
      "type": "composer",
      "url": "https://packagist.org"
    }
  }
}
Source: http://stackoverflow.com/questions/38635257/composer-content-length-mismatch
Thanks it works