Làm cách nào để lấy từ kho lưu trữ Git qua proxy HTTP?


491

Lưu ý: trong khi trường hợp sử dụng được mô tả là về việc sử dụng các mô hình con trong một dự án, thì điều tương tự cũng áp dụng cho git clonemột kho lưu trữ thông thường qua HTTP.

Tôi có một dự án dưới sự kiểm soát của Git. Tôi muốn thêm một mô hình con:

git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu

Nhưng tôi hiểu

...
got 1b0313f016d98e556396c91d08127c59722762d0
got 4c42d44a9221209293e5f3eb7e662a1571b09421
got b0d6414e3ca5c2fb4b95b7712c7edbf7d2becac7
error: Unable to find abc07fcf79aebed56497e3894c6c3c06046f913a under http://github.com/jscruggs/metri...
Cannot obtain needed commit abc07fcf79aebed56497e3894c6c3c06046f913a
while processing commit ee576543b3a0820cc966cc10cc41e6ffb3415658.
fatal: Fetch failed.
Clone of 'http://github.com/jscruggs/metric_fu.git' into submodule path 'vendor/plugins/metric_fu'

Tôi đã thiết lập HTTP_PROXY:

c:\project> echo %HTTP_PROXY%
http://proxy.mycompany:80

Tôi thậm chí có cài đặt Git toàn cầu cho proxy http:

c:\project> git config --get http.proxy
http://proxy.mycompany:80

Có ai đã nhận được HTTP tải để liên tục làm việc thông qua một proxy? Điều thực sự kỳ lạ là một vài dự án trên GitHub hoạt động tốt ( awesome_nested_setví dụ), nhưng những dự án khác liên tục thất bại ( ví dụ như đường ray ).


Có thể proxy của bạn đang kiểm duyệt một số từ hoặc một cái gì đó, do đó chỉ ảnh hưởng đến những repos mà những từ đó xảy ra để hiển thị như một phần của luồng byte?
pjz


4
@alvaro, tôi nghĩ bạn có nghĩa là Bắt git làm việc với máy chủ proxy là một bản sao có thể có của câu hỏi này. Câu hỏi này cũ hơn câu hỏi mà bạn giới thiệu.
Derek Mahar

2
@James, cài đặt Git "toàn cầu" của bạn cho máy chủ proxy không thực sự là toàn cầu, mà là cục bộ. Để trở thành toàn cầu, bạn cần phải cung cấp luận cứ --globalđể git config.
Derek Mahar

1
@DerekMahar Các câu hỏi cũ hơn có thể được đóng lại với các bản sao của các câu hỏi mới hơn, nếu câu hỏi mới hơn có chất lượng tốt hơn (hoặc nói chung là có thể áp dụng).
Raedwald

Câu trả lời:


584

Bạn cũng có thể đặt proxy HTTP mà Git sử dụng trong thuộc tính cấu hình toàn cầu http.proxy:

git config --global http.proxy http://proxy.mycompany:80

Để xác thực với proxy:

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080/

(Tín dụng chuyển đến @EugeneKulabuhov@JaimeReynoso cho định dạng xác thực.)


8
Điều này hiệu quả với tôi: Đặt HTTP_PROXY trong môi trường cho người dùng (trên Windows), sau đó nhận xét ở trên với $ HTTP_PROXY (chữ hoa). +1 cho giải pháp này.
Sean Aitken

4
CleverCoder, trên Windows, bạn cần chỉ định% HTTP_PROXY%, không phải $ HTTP_PROXY (trừ khi bạn đang chạy Cygwin, tất nhiên). Tôi sẽ chỉnh sửa câu trả lời của mình để hoạt động trong Windows thay vì môi trường Unix.
Derek Mahar

7
Tôi đặt tên người dùng và mật khẩu cho proxy ở đâu?
Duna

26
Sử dụng git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080cú pháp để cung cấp tên người dùng / mật khẩu
Eugene Kulabuhov

2
Đối với bất kỳ ai có thể gặp sự cố với proxy, http: // <UserID>: <Mật khẩu> @ <ProxyURL>: <Cổng> / đã làm việc cho tôi
Jaime Reynoso

146

Có một số câu trả lời tuyệt vời về điều này đã. Tuy nhiên, tôi nghĩ rằng tôi sẽ gắn chip vì một số máy chủ proxy yêu cầu bạn xác thực bằng Id và mật khẩu người dùng. Đôi khi điều này có thể là trên một miền.

Vì vậy, ví dụ nếu cấu hình máy chủ proxy của bạn như sau:

Server: myproxyserver
Port: 8080
Username: mydomain\myusername
Password: mypassword

Sau đó, thêm vào .gitconfigtệp của bạn bằng lệnh sau:

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080

Đừng lo lắng về https. Miễn là máy chủ proxy được chỉ định hỗ trợ http và https, thì một mục trong tệp cấu hình sẽ đủ.

Sau đó, bạn có thể xác minh rằng lệnh đã thêm mục nhập vào .gitconfigtệp của bạn thành công bằng cách thực hiện cat .gitconfig:

Ở cuối tập tin, bạn sẽ thấy một mục như sau:

[http]
    proxy = http://mydomain\\myusername:mypassword@myproxyserver:8080

Đó là nó!


Hấp dẫn. Tôi có thể đến phần "Giải quyết đồng bằng" với 100% nhưng sau đó có vẻ như quá trình nhân bản chỉ bị treo. Có ai có kinh nghiệm không?
La Mã

1
+1. Và ngay sau đó, bạn sẽ có thể thiết lập proxy cho mỗi url!
VonC

@apoplexy bạn có thể nhận xét về chỉnh sửa được đề xuất của mình không để tôi có thể xem xét
Max MacLeod

3
Nếu bạn có ký hiệu @ trong tên người dùng hoặc mật khẩu, thì bạn có thể mã hóa URL %40và nó sẽ hoạt động.
Adarsha

3
Thay vì cat .gitconfig, bạn có thể liệt kê các cài đặt cấu hình với git config --list
user3969377

125

Điều cuối cùng đã làm việc là thiết lập http_proxybiến môi trường. Tôi đã thiết lập HTTP_PROXYchính xác, nhưng git rõ ràng thích phiên bản chữ thường hơn.


3
Liệu cài đặt http.proxytrong cấu hình Git toàn cầu có hoạt động không? Trong câu hỏi của bạn, bạn đặt http.proxytrong cấu hình kho lưu trữ cục bộ.
Derek Mahar

22
Trong trường hợp của tôi, tôi đã phải đặthttps_proxy
M Smith

1
https.proxydường như hoạt động với tôi khi tôi đang sử dụng https trên github
Shervin Asgari

3
@MSmith Nếu bạn phải đặt https_proxyđiều này có nghĩa là bạn đang sử dụng httpskhông phải httplà câu hỏi nào.
Piotr Dobrogost

3
Curl và libcurl không nhận ra chữ hoa HTTP_PROXY và HTTPS_PROXY. Xem liên kết này để biết thêm thông tin: curl.haxx.se/mail/archive-2001-12/0034.html
Doug

49

Có vẻ như bạn đang sử dụng một bản biên dịch Git trên các cửa sổ (hoặc có thể là một bản khác mà tôi chưa từng nghe đến). Có nhiều cách để gỡ lỗi này: Tôi tin rằng tất cả các công việc proxy http cho git đều được thực hiện bằng curl. Đặt biến môi trường này trước khi chạy git:

GIT_CURL_VERBOSE=1

Điều này ít nhất sẽ cung cấp cho bạn một ý tưởng về những gì đang xảy ra đằng sau hậu trường.


7
Khi tôi thêm biến môi trường này, msysgit không in thêm bất cứ điều gì. :(
Andrew Arnott

sau khi chiến đấu với proxy một thời gian, mẹo này đã giúp tôi phát hiện ra rằng cơ sở dữ liệu chứng chỉ của curl bị thiếu / bị rối và đó là lý do tại sao các yêu cầu không thành công.
davenpcj

Tôi đã tìm kiếm điều này một thời gian. Cảm ơn.
M Smith

40

Nếu bạn chỉ muốn sử dụng proxy trên một kho lưu trữ được chỉ định, không cần trên các kho lưu trữ khác. Cách thích hợp hơn là -c, --config <key=value>tùy chọn khi bạn git clonelưu trữ. ví dụ

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git --config "http.proxy=proxyHost:proxyPort"

Điều này thật lạ, tôi đã thử đặt $ http_proxy, nhưng git không tôn trọng nó. Có vẻ như nó chỉ quan tâm đến cấu hình của chính nó ...
weberc2 24/2/2015

Làm. Bạn cũng có thể chỉ định --confignhiều lần, ví dụ khi bạn cũng muốn đặt https.proxy.
barfuin 30/03/2015

Cảm ơn! Chính xác những gì tôi đang tìm kiếm
Boyang

2
nhân bản với cấu hình proxy nhưng không thay đổi cấu hình proxy của người dùng. Chính xác những gì tôi cần! Cám ơn.
phận

26

Khi nhóm mạng của bạn thực hiện kiểm tra ssl bằng cách viết lại chứng chỉ, sau đó sử dụng url http thay vì https, kết hợp với cài đặt var này hoạt động với tôi.

git config --global http.proxy http://proxy:8081

2
Bạn cũng có thể thêm nó vào môi trường để chấp nhận các chứng chỉ được viết lại mà các anh chàng mạng cung cấp để kiểm tra lưu lượng của bạn: xuất GIT_SSL_NO_VERIFY = true
bbaassssiiee

Làm việc cho tôi hoàn hảo. Cảm ơn. Tôi vừa phải thêm git config --global http.proxy proxy: 8081 git config --global https.proxy proxy: 8081
Sid

giải pháp đơn giản và nhanh chóng, +1 cho câu trả lời này.
WALKER

1
Cảm ơn @sethbc, @datasmid! Tôi cần GIT_CURL_VERBOSE = 1 để gỡ lỗi và GIT_SSL_NO_VERIFY = true để bỏ qua xác minh.
Henry Rivera

không làm việc với tôi ngay cả với GIT_SSL_NO_VERIFY var
keinabel

20

Bạn cũng có thể chỉnh sửa tệp .gitconfig trong thư mục% userprofile% trên hệ thống Windows ( notepad% userprofile% .gitconfig ) hoặc trong thư mục ~ trên hệ thống Linux ( vi ~ / .gitconfig ) và thêm phần http như bên dưới.

Nội dung của tệp .gitconfig:

[http]
        proxy = http://proxy.mycompany:80

20

Đối với tôi git: // chỉ không hoạt động thông qua proxy mặc dù https: // không. Điều này gây ra một số đau đầu vì tôi đang chạy các tập lệnh mà tất cả đều sử dụng git: // vì vậy tôi không thể dễ dàng thay đổi tất cả. Tuy nhiên tôi đã tìm thấy GEM này

git config --global url."https://github.com/".insteadOf git://github.com/

Cảm ơn bạn, điều này đã giúp rất nhiều
dgrat

Tôi biết rằng tôi cũng có vấn đề để lấy từ git: //. Bạn đã xem xét vấn đề chính về SSH chưa? Vấn đề của tôi là do cấu hình khóa SSH xấu.
avazula

17

Đây là một câu hỏi cũ nhưng nếu bạn đang ở trên Windows, hãy xem xét cài đặt HTTPS_PROXY nếu bạn đang truy xuất thông qua URL https. Đã làm cho tôi!


2
Trong https_proxytrường hợp của tôi là đủ để đặt biến môi trường (không có tùy chọn proxy git toàn cầu hoặc repo) trong trường hợp của tôi (msysgit trên Windows XP).
Piotr Dobrogost

13

Tôi không tìm thấy http.proxycũng không GIT_PROXY_COMMANDlàm việc cho proxy http xác thực của mình. Proxy không được kích hoạt theo bất kỳ cách nào. Nhưng tôi tìm thấy một cách để làm việc này.

  1. Cài đặt nút chai hoặc các lựa chọn thay thế khác mà bạn muốn.
  2. Tạo một authfile. Định dạng cho authfilelà : user_name:password, và user_name, passwordlà tên người dùng và mật khẩu của bạn để truy cập proxy của bạn. Để tạo một tệp như vậy, chỉ cần chạy lệnh như thế này : echo "username:password" > ~/.ssh/authfile.

  3. Chỉnh sửa ~/.ssh/configvà đảm bảo sự cho phép của nó là 644:chmod 644 ~/.ssh/config

Lấy github.com làm ví dụ, thêm các dòng sau vào ~/.ssh/config:

Host    github.com
        HostName        github.com
        ProxyCommand    /usr/local/bin/corkscrew <your.proxy> <proxy port> %h %p <path/to/authfile>
        User            git

Bây giờ bất cứ khi nào bạn làm bất cứ điều gì với git@github.com, nó sẽ tự động sử dụng proxy. Bạn cũng có thể dễ dàng làm điều tương tự với Bitbucket .

Điều này không quá thanh lịch như các phương pháp khác, nhưng nó hoạt động như một sự quyến rũ.


1
Bạn có thể giải thích rõ hơn về bước 2, "tạo một authfile" không? Có vẻ như cách tiếp cận của bạn là cách duy nhất sẽ hoạt động cho git: // url.
nik

@NikBagdon Tôi đã thêm chi tiết cho bước 2. Hãy cho tôi biết nếu có điều gì đó không rõ ràng :)
Carlosin

11

Trên Windows, nếu bạn không muốn đặt mật khẩu của mình vào .gitconfig trong văn bản thuần túy, bạn có thể sử dụng

Nó xác thực bạn với proxy NTLM bình thường hoặc thậm chí Windows và bắt đầu proxy cục bộ mà không cần xác thực.

Để có được nó chạy:

  • Cài đặt Cntml
  • Định cấu hình Cntml theo tài liệu để vượt qua xác thực proxy của bạn
  • Điểm git đến proxy localhost mới của bạn:

    [http]
        proxy = http://localhost:3128       # change port as necessary
    

2
Đối với những gì nó có giá trị, đây phải là câu trả lời được chấp nhận, anh ấy ở trên cửa sổ. Không có proxy minh bạch (nếu không sẽ không có vấn đề gì.
booyaa

9

Đối với tôi những gì nó hoạt động là:

sudo apt-get install socat

Tạo một tệp bên trong $ BIN_PATH / gitproxy của bạn với:

#!/bin/sh 
_proxy=192.168.192.1 
_proxyport=3128 
exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport

Đừng quên cấp cho nó quyền thực thi

chmod a+x gitproxy

Chạy các lệnh sau để thiết lập môi trường:

export PATH=$BIN_PATH:$PATH
git config --global core.gitproxy gitproxy

1
Liên kết đến một lời giải thích và một liên kết đến một ý chính với các bản cập nhật cho tập lệnh (mini-): emilsit.net/blog/archives/ chủ
Karl Richter

Câu trả lời này là câu trả lời duy nhất hoạt động cho git://các URL giao thức, dành cho những máy chủ git (hiếm) không hỗ trợ https. Cũng hoạt động trên windows, với một tệp bó thích hợp và socat cho windows.
davenpcj

8

Thiết lập proxy để git

chỉ huy

git config --global http.proxy http://user:password@domain:port

thí dụ

git config --global http.proxy http://clairton:123456@proxy.clairtonluz.com.br:8080

7

Đặt thông tin xác thực Git.rcper thành wincred.

git config --global credential.helper wincred

Hãy chắc chắn rằng chỉ có 1 thông tin xác thực.

git config -l

Nếu có nhiều hơn 1 và nó không được đặt thành wincred, hãy xóa nó.

git config --system --unset credential.helper

Bây giờ đặt proxy không có mật khẩu.

git config --global http.proxy http://<YOUR WIN LOGIN NAME>@proxy:80

Kiểm tra xem tất cả các cài đặt mà bạn đã thêm có vẻ tốt ....

git config --global -l

Bây giờ bạn tốt để đi!


6

Tôi đã có cùng một vấn đề, với một cách khắc phục hơi khác: TÁI TẠO GIT VỚI HPORT TRỢ HTTP

Các git:giao thức đã không làm việc qua tường lửa của công ty tôi.

Ví dụ, điều này đã hết thời gian:

git clone git://github.com/miksago/node-websocket-server.git

curl github.comTuy nhiên, chỉ hoạt động tốt, vì vậy tôi biết http_proxybiến môi trường của tôi là chính xác.

Tôi đã thử sử dụng http, như dưới đây, nhưng gặp lỗi ngay lập tức.

git clone http://github.com/miksago/node-websocket-server.git

->>>  fatal: Unable to find remote helper for 'http' <<<-

Tôi đã thử biên dịch lại git như vậy:

./configure  --with-curl --with-expat

nhưng vẫn nhận được lỗi nghiêm trọng.

Cuối cùng, sau vài giờ bực bội, tôi đọc tệp cấu hình và thấy điều này:

# Xác định CURLDIR = / foo / bar nếu các tệp thư viện và tiêu đề curl của bạn nằm trong

# / foo / bar / bao gồm và / foo / bar / lib thư mục.

Sau đó, tôi nhớ rằng tôi đã không tuân thủ curlnguồn, và vì vậy đã đi tìm các tệp tiêu đề. Chắc chắn, họ đã không được cài đặt. Đó là vấn đề. Làm cho không phàn nàn về các tập tin tiêu đề bị thiếu. Vì vậy, tôi đã không nhận ra rằng --with-curltùy chọn này không làm gì cả (thực tế nó là mặc định trong phiên bản của tôi git).

Tôi đã làm như sau để sửa nó:

  1. Đã thêm các tiêu đề cần thiết để thực hiện:

    yum install curl-devel
    (expat-devel-1.95.8-8.3.el5_5.3.i386  was already installed).
    
  2. Đã xóa gitkhỏi /usr/local(vì tôi muốn cài đặt mới sống ở đó).

    Tôi chỉ cần xóa git*khỏi /usr/local/share/usr/local/libexec

  3. Tìm kiếm các thư mục bao gồm các tệp curlexpattiêu đề, và sau đó (vì tôi đã đọc qua configure) đã thêm chúng vào môi trường như vậy:

    export CURLDIR=/usr/include 
    export EXPATDIR=/usr/include
    
  4. Chạy configurevới các tùy chọn sau, một lần nữa, được mô tả trong configurechính tệp và cũng là mặc định nhưng cái quái gì:

    ./configure  --with-curl --with-expat
    
  5. Và bây giờ httplàm việc với gitthông qua tường lửa công ty của tôi:

    git clone http://github.com/miksago/node-websocket-server.git
    Cloning into 'node-websocket-server'...
    * Couldn't find host github.com in the .netrc file, using defaults
    * About to connect() to proxy proxy.entp.attws.com port 8080
    *   Trying 135.214.40.30... * connected
    ...
    

Tôi rất vui vì bạn đã đưa cái này về phía trước, tôi đã không nhận ra rằng giao thức git không được xử lý trên proxy mực của tôi
rupert160

5

Chỉ cần đăng bài này vì đây là kết quả đầu tiên trên Google, bài đăng trên blog này tôi đã tìm ra cách giải quyết vấn đề cho tôi bằng cách cập nhật các chứng chỉ curl.

http://www.simplicidade.org/notes/archives/2011/06/github_ssl_ca_errors.html


1
Halleluyah, cộng này git config --global http.sslcainfo NEW_CERTS_BUNDLE.crtnhư được mô tả trong: stackoverflow.com/a/8248484/98528 đã làm điều đó cho tôi! Cảm ơn!
akavel

5

Điều này làm việc với tôi.

git config --global http.proxy proxy_user:proxy_passwd@proxy_ip:proxy_port

3

bạn có thể dùng:

git config --add http.proxy http://user:password@proxy_host:proxy_port


2

Cho cửa sổ

Goto -> C: / Users / user_name / gitconfig

Cập nhật tệp gitconfig với các chi tiết bên dưới

[http]

[https]

proxy = https://your_proxy:your_port

[http]

proxy = http://your_proxy:your_port

Làm thế nào để kiểm tra proxy và số cổng của bạn?

Internet Explorer -> Cài đặt -> Tùy chọn Internet -> Kết nối -> Cài đặt mạng LAN


2

Phương pháp dưới đây hoạt động với tôi:

echo 'export http_proxy=http://username:password@roxy_host:port/' >> ~/.bash_profile
echo 'export https_proxy=http://username:password@roxy_host:port' >> ~/.bash_profile
  • Lưu ý Zsh: Sửa đổi tệp ~ / .zshenv của bạn thay vì ~ / .bash_profile.
  • Lưu ý về Ubuntu và Fedora: Sửa đổi tệp ~ / .bashrc của bạn thay vì ~ / .bash_profile.

2

Đáng để đề cập: Hầu hết các ví dụ trên các ví dụ về chương trình mạng như

git config --global http.proxy proxy_user:proxy_passwd@proxy_ip:proxy_port

Vì vậy, có vẻ như - nếu proxy của bạn cần xác thực - bạn phải để lại mật khẩu công ty trong git-config. Điều đó không thực sự mát mẻ.

Nhưng, nếu bạn chỉ cấu hình người dùng mà không có mật khẩu:

git config --global http.proxy proxy_user@proxy_ip:proxy_port

Git dường như (ít nhất là trên máy Windows của tôi không có người trợ giúp thông tin đăng nhập) để nhận ra điều đó và nhắc nhập mật khẩu proxy khi truy cập repo.


Bạn là người đàn ông của tôi, vì tên người dùng và mật khẩu của công ty sso của tôi có rất nhiều simboles đặc biệt khá khó để mã hóa và vượt qua. Với "escamotage" này, tôi có thể cung cấp mật khẩu trên mặt nhân bản hoặc bất kỳ bước tiếp theo nào khác sau khi đã đặt địa chỉ proxy.
Carmine Tambascia

1

Đây không phải là một vấn đề với proxy của bạn. Đó là một vấn đề với github (hoặc git). Nó cũng thất bại với tôi trên git-1.6.0.1 trên linux. Lỗi đã được báo cáo (bởi bạn không ít).

Hãy chắc chắn để xóa pasties của bạn, họ đã có trên google. Chỉnh sửa: Phải mơ, tôi đoán bạn không thể xóa chúng. Sử dụng Gist thay thế?


Tôi cũng đã đăng lên github và msysGit b / c Tôi không chắc vấn đề nằm ở đâu. Thật không may, tôi dường như không thể xóa pasties.
James A. Rosen


1

Các câu trả lời trên có hiệu quả với tôi khi proxy của tôi không cần xác thực. Nếu bạn đang sử dụng proxy yêu cầu bạn xác thực thì bạn có thể thử CCProxy. Tôi có một hướng dẫn nhỏ về cách thiết lập nó ở đây,

http://blog.praveenkumar.co.in/2012/09/proxy-free-windows-xp78-and-milers.html

Tôi đã có thể đẩy, kéo, tạo repos mới. Mọi thứ đều hoạt động tốt. Đảm bảo bạn thực hiện gỡ cài đặt sạch và cài đặt lại phiên bản mới nếu bạn gặp phải sự cố với Git như tôi đã làm.



0

Tôi đã truy cập proxy bằng cách sử dụng https ... một số proxy thậm chí không kiểm tra https.

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

c:\git\meantest>git clone http://github.com/linnovate/mean.git
Cloning into 'mean'...
fatal: unable to access 'http://github.com/linnovate/mean.git/': Failed connect
to github.com:80; No error

c:\git\meantest>git clone https://github.com/linnovate/mean.git
Cloning into 'mean'...
remote: Reusing existing pack: 2587, done.
remote: Counting objects: 27, done.
remote: Compressing objects: 100% (24/24), done.
rRemote: Total 2614 (delta 3), reused 4 (delta 0)eceiving objects:  98% (2562/26

Receiving objects: 100% (2614/2614), 1.76 MiB | 305.00 KiB/s, done.
Resolving deltas: 100% (1166/1166), done.
Checking connectivity... done

0

Vì điều này đã được trả lời bởi nhiều người nhưng Điều này chỉ dành cho Winodws USER, người đứng sau proxy với auth.

Cài đặt lại (lần đầu tiên thất bại, không xóa).

Goto ->
**Windows**
1. msysgit\installer-tmp\etc\gitconfig
    Under [http]
        proxy = http://user:pass@url:port

**Linux**
1. msysgit\installer-tmp\setup-msysgit.sh
      export HTTP_PROXY="http://USER:PASS@proxy.abc.com:8080"

nếu bạn có bất kỳ char đặc biệt nào trong người dùng / vượt qua, hãy sử dụng url_encode

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.