一、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代理的基本用法和实现方式。