我正在尝试使用“msysgit”bash 命令在我的 Windows 7 PC 上克隆一个小型 repo,如下所示:
talha.ahmed@ICE-088 /d/talha.ahmed/workspace/repos
$ git clone https://github.com/torvalds/linux
但无法这样做并得到以下输出
Cloning into 'linux'...
fatal: unable to access 'https://github.com/torvalds/linux/': Failed connect to github.com:443; No error
或者
Cloning into 'linux'...
error: RPC failed; result=7, HTTP code = 0
fatal: The remote end hung up unexpectedly
使用 python 2.6,我发现问题不是 git 特有的:
In [3]: import urllib2
In [4]: urllib2.urlopen('https://www.example.com').read()
Traceback (most recent call last):
File "<ipython-input-4-d382603dc753>", line 1, in <module>
urllib2.urlopen('https://www.example.com').read()
File "c:\Python26\lib\urllib2.py", line 126, in
urlopen return _opener.open(url, data, timeout)
File "c:\Python26\lib\urllib2.py", line 391, in open
response = self._open(req, data)
File "c:\Python26\lib\urllib2.py", line 409, in _open
'_open', req)
File "c:\Python26\lib\urllib2.py", line 369, in _call_chain
result = func(*args)
File "c:\Python26\lib\urllib2.py", line 1178, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File "c:\Python26\lib\urllib2.py", line 1145, in do_open
raise URLError(err)
URLError: <urlopen error [Errno 10061] No connection could be made because the target machine actively refused it>
但是,我可以通过浏览器完美访问该网址并下载。没有配置代理(我在工作时使用 LAN 上的网关配置)。
这怎么可能?这可能是由于公司网关上的某些代理配置造成的吗?还是也可能是由于 Kaspersky Endpoint Security 10 强制执行的某些策略配置造成的?我应该如何查找问题的原因?
更新:
问题似乎已经自行消失。那几天实际上是工作时网络特别糟糕的日子,DSL 线路嘈杂且断线等等。但是,我仍然不知道为什么使用 git 或 python 访问总是失败,而使用浏览器访问则大多数时候都成功。这可能是由于某些设置影响了 GET 或 POST,例如超时等?
答案1
无法连接到 github.com:443;没有错误
您应该测试您的网络连接,例如通过以下 shell 命令:
ssh -vvvT [email protected]
或通过 HTTPS:
ssh -vvvT -p 443 [email protected]
如果你使用代理,使用ProxyHandler
来指定它。
也可以看看:为什么我在 Python 中收到“连接被拒绝”错误?
要调试 git 问题,请参阅:如何调试与 git/git-shell 相关的问题?
URLError:urlopen 错误 [Errno 10061]
尝试将 HTTPS 更改为 HTTP,或者使用requests
。