Git RPC Failed; result=22, HTTP code = 400

the*_*tor 7 git github symfony

I've read around on StackOverflow, and found similar situations to mine, but none close enough for me to figure out what I should try to do next. I'm trying to pull fresh copies of libraries required to build a project I'm working on (git clone).

我发出以下命令(启用GIT_CURL_VERBOSE以获取更多信息)并获取以下数据:

[thexfactor@THISISMYSERVER ~]$ GIT_CURL_VERBOSE=1 git clone http://github.com/symfony/symfony.git

Cloning into 'symfony'...
* Couldn't find host github.com in the .netrc file, using defaults
* About to connect() to github.com port 80
*   Trying 192.30.252.129... * connected
* Connected to github.com (192.30.252.129) port 80
> GET /symfony/symfony.git/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/1.8.2.1
Host: github.com
Accept: */*
Accept-Encoding: gzip
Pragma: no-cache

< HTTP/1.1 301 Moved Permanently
< Content-length: 0
< Location: https://github.com/symfony/symfony.git/info/refs?service=git-upload-pack
< Connection: close
* Closing connection #0
* Issue another request to this URL: 'https://github.com/symfony/symfony.git/info/refs?service=git-upload-pack'
* Couldn't find host github.com in the .netrc file, using defaults
* About to connect() to github.com port 443
*   Trying 192.30.252.129... * connected
* Connected to github.com (192.30.252.129) port 443
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using RC4-SHA
* Server certificate:
*    subject: /2.5.4.15=Private Organization/1.3.6.1.4.1.311.60.2.1.3=US/1.3.6.1.4.1.311.60.2.1.2=Delaware/serialNumber=5157550/streetAddress=548 4th Street/postalCode=94107/C=US/ST=California/L=San Francisco/O=GitHub, Inc./CN=github.com
*    start date: 2013-06-10 00:00:00 GMT
*    expire date: 2015-09-02 12:00:00 GMT
*    subjectAltName: github.com matched
*    issuer: /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV CA-1
* SSL certificate verify ok.
> GET /symfony/symfony.git/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/1.8.2.1
Host: github.com
Accept: */*
Accept-Encoding: gzip
Pragma: no-cache

< HTTP/1.1 200 OK
< Server: GitHub.com
< Date: Wed, 25 Sep 2013 13:37:05 GMT
< Content-Type: application/x-git-upload-pack-advertisement
< Transfer-Encoding: chunked
< Expires: Fri, 01 Jan 1980 00:00:00 GMT
< Pragma: no-cache
< Cache-Control: no-cache, max-age=0, must-revalidate
< Vary: Accept-Encoding
* Connection #0 to host github.com left intact
* Couldn't find host github.com in the .netrc file, using defaults
* About to connect() to github.com port 80
*   Trying 192.30.252.129... * connected
* Connected to github.com (192.30.252.129) port 80
> POST /symfony/symfony.git/git-upload-pack HTTP/1.1
User-Agent: git/1.8.2.1
Host: github.com
Accept-Encoding: gzip
Content-Type: application/x-git-upload-pack-request
Accept: application/x-git-upload-pack-result
Content-Encoding: gzip
Content-Length: 1474

< HTTP/1.1 301 Moved Permanently
< Content-length: 0
< Location: https://github.com/symfony/symfony.git/git-upload-pack
< Connection: close
* Closing connection #1
* Issue another request to this URL: 'https://github.com/symfony/symfony.git/git-upload-pack'
* Violate RFC 2616/10.3.2 and switch from POST to GET
* Couldn't find host github.com in the .netrc file, using defaults
* Re-using existing connection! (#0) with host github.com
* Connected to github.com (192.30.252.129) port 443
> GET /symfony/symfony.git/git-upload-pack HTTP/1.1
User-Agent: git/1.8.2.1
Host: github.com
Accept: */*
Accept-Encoding: gzip
Content-Type: application/x-git-upload-pack-request
Accept: application/x-git-upload-pack-result
Content-Encoding: gzip

* The requested URL returned error: 400
* Closing connection #0
error: RPC failed; result=22, HTTP code = 400
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

发出http*s的命令*://github.com/symfony/symfony.git有效.那不是问题.获取symfony是一大堆lib中的一个库,它是我试图包含的库的composer文件的一部分.

没有额外的信息,响应很简单:

error: RPC failed; result=22, HTTP code = 400
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

所有通过HTTPS的libs请求都可以工作,没有通过HTTP.我更愿意理解为什么这对我昨天起作用,以及为什么我现在必须将所有内容更改为HTTPS - 我无法修改作曲家文件并回馈,并且更倾向于解决方法.

任何善于解析响应头的人都能找出可能发生的事情?

Chu*_*Lai 3

将 http、https 切换为 ssh,就可以了!

# origin
git clonie http://github.com/gmarik/vundle.git

# new
git clone git@github.com:gmarik/vundle.git
Run Code Online (Sandbox Code Playgroud)