一、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-hk/n/150732.html
微信掃一掃
支付寶掃一掃