Một cách là do truy vấn HTTP trực tiếp.
Máy khách git hỗ trợ thông minh thêm đối số vào cuối URL đầu tiên được thu thập, "[repo]/info/refs? Service = git-upload-pack". Máy chủ câm sẽ chỉ gửi tệp "info/refs" dưới dạng văn bản bỏ qua đối số, trong khi máy chủ thông minh sẽ trả về một số dữ liệu nhị phân trước danh sách refs, bao gồm văn bản "service = git-upload-pack" và danh sách các tính năng (bạn có thể tìm ra hỗ trợ "chiều sâu").
Bạn có thể viết thử nghiệm thông minh/câm này bằng cách sử dụng wget hoặc curl để kiểm tra loại MIME: text/plain (câm) so với ứng dụng/x-git-upload-pack-advertising (thông minh).
$ curl -si http://github.com/git/git.git/info/refs?service=git-upload-pack | grep --binary-files=text '^Content-Type'
Content-Type: application/x-git-upload-pack-advertisement
$ curl -si http://git.kernel.org/pub/scm/git/git.git/info/refs?service=git-upload-pack | grep --binary-files=text '^Content-Type'
Content-Type: application/x-git-upload-pack-advertisement
$ curl -si http://repo.or.cz/r/git.git/info/refs?service=git-upload-pack | grep --binary-files=text '^Content-Type'
Content-Type: text/plain
(Pipe để grep -q "^Content-Type: application/x-git"
và sử dụng mã để đổi lấy thực nghiệm/sai.)
Tôi muốn sử dụng gõ vịt: giả sử đó là một con vịt và ném nó vào ao, nếu đó là một con mèo, hãy yêu cầu anh ta xin lỗi (và có thể tránh vứt nó vào ao). – redShadow