使用Golang编写HTTP代理请求可以使用标准库的”net/http”和”net/url”包。

具体步骤如下:

1. 首先,需要创建一个HTTP客户端,并设置代理地址。代理地址可以通过URL类型的解析器解析代理URL字符串得到。

go
proxyUrl, _ := url.Parse("http://127.0.0.1:8080")
httpClient := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}}

2. 然后,创建一个HTTP请求,并发送给服务器。

go
req, _ := http.NewRequest("GET", "http://example.com", nil)
resp, err := httpClient.Do(req)
if err != nil {
    // handle error
}
defer resp.Body.Close()

3. 最后,处理HTTP响应结果,例如读取响应内容。

go
respBody, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(respBody))

完整示例代码:

go
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
)

func main() {
    proxyUrl, _ := url.Parse("http://127.0.0.1:8080")
    httpClient := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}}

    req, _ := http.NewRequest("GET", "http://example.com", nil)
    resp, err := httpClient.Do(req)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    defer resp.Body.Close()

    respBody, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(respBody))
}