首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将标志设置为golang请求

将标志设置为golang请求
EN

Stack Overflow用户
提问于 2020-01-09 21:08:12
回答 1查看 224关注 0票数 4

我有一个卷曲字符串,它有一个标志--unix-sock,我如何在golang中将这个标志设置为curl --unix-socket /var/run/docker.sock http://localhost/containers/json请求?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-09 21:31:47

使用DialContext field of http.Transport连接到unix套接字(为简洁起见,省略了大部分错误处理):

代码语言:javascript
复制
package main

import (
    "context"
    "fmt"
    "log"
    "net"
    "net/http"
    "net/http/httputil"
)

func main() {
    c := &http.Client{
        Transport: &http.Transport{
            DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
                return (&net.Dialer{}).DialContext(ctx, "unix", "/var/run/docker.sock")
            },
        },
    }

    req, _ := http.NewRequest("GET", "http://localhost/containers/json", nil)

    res, err := c.Do(req)
    if err != nil {
        log.Fatal(err)
    }

    b, _ := httputil.DumpResponse(res, true)
    fmt.Println(string(b))
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59664696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档