一、nginx代理sftp
nginx代理sftp可以通過修改系統配置實現。步驟如下:
# 安裝sftp伺服器 apt-get install openssh-server # 安裝nginx apt-get install nginx # 配置nginx vim /etc/nginx/nginx.conf # 增加server段 server { listen 22; proxy_pass localhost:2222; } service nginx restart # 修改sftp配置文件 vim /etc/ssh/sshd_config # 修改配置文件 SubSystem sftp internal-sftp -u 7777 # 重啟ssh服務 service ssh restart
這樣即可實現nginx代理sftp的功能。
二、http代理
http代理是一種讓內網機器通過公共網路訪問外網的代理方式。下面是代碼示例:
import ( "net/http" "net/http/httputil" ) func httpProxy() { director := func(req *http.Request) { req.URL.Scheme = "http" req.URL.Host = "www.baidu.com" } proxy := &httputil.ReverseProxy{Director: director} http.ListenAndServe(":8080", proxy) }
以上代碼啟動後,在瀏覽器中輸入http://localhost:8080,即可訪問www.baidu.com。
三、https代理
https代理和http代理類似,只是需要使用https協議。下面是代碼示例:
import ( "crypto/tls" "net/http" "net/http/httputil" ) func httpsProxy() { director := func(req *http.Request) { req.URL.Scheme = "https" req.URL.Host = "www.google.com" } transport := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } proxy := &httputil.ReverseProxy{Director: director, Transport: transport} http.ListenAndServe(":8080", proxy) }
以上代碼啟動後,在瀏覽器中輸入https://localhost:8080,即可訪問www.google.com。
四、bitget代理商管理系統
bitget代理商管理系統是一個基於區塊鏈技術的數字貨幣交易平台。下面是代碼示例:
import ( "fmt" "net/http" "net/url" ) func bitgetProxy() { proxyUrl, _ := url.Parse("http://123.123.123.123:8080") client := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}} resp, err := client.Get("https://www.bitget.com/") if err != nil { fmt.Println(err) return } defer resp.Body.Close() }
以上代碼使用代理地址為http://123.123.123.123:8080訪問了https://www.bitget.com/。
五、免費http代理教程
如何獲取免費的http代理?下面是步驟示例:
- 在GitHub上搜索「free proxy」,找到一個倉庫https://github.com/clarketm/proxy-list,並選取ProxyListDaily.txt。
- 使用以下代碼讀取ProxyListDaily.txt:
import ( "bufio" "fmt" "net/http" "os" ) func readProxyList() []string { url := "https://raw.githubusercontent.com/clarketm/proxy-list/master/ProxyListDaily.txt" resp, _ := http.Get(url) defer resp.Body.Close() scanner := bufio.NewScanner(resp.Body) var proxyList []string for scanner.Scan() { line := scanner.Text() if line[:4] != "http" { continue } proxyList = append(proxyList, line) } return proxyList } func main() { proxyList := readProxyList() fmt.Println(proxyList) os.Exit(0) }
總結
httpget代理是一個常用的代理方式。通過nginx代理sftp、http代理、https代理、bitget代理商管理系統、免費http代理教程等具體實例,我們了解了httpget代理的基本用法和實現方式。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/150732.html