草庐IT

$HTTP客户端

全部标签

http - 使用 SIRIS 上传文件失败

我想使用SIRIS和Postman将文件上传到服务器。Go程序packagemainimport("github.com/go-siris/siris")funcmain(){app:=siris.New()app.Post("/",handleFileUpload)app.Run(siris.Addr(":8080"))}funchandleFileUpload(ctxsiris.Context){ctx.Writef("Hello")file,info,err:=ctx.FormFile("filee")iferr!=nil{ctx.StatusCode(iris.StatusIn

http - 写一个临时响应 - 去服务器

我正在编写一个Go服务器和客户端,但我不知道如何编写一个临时响应(状态代码1xx)。我为此搜索了文档和示例,但没有找到任何内容。我的搜索确实找到了一些关于分块响应的信息,但我认为这不是我所需要的。我真的只是想发送一个临时响应让客户端知道请求已收到(并且一些信息已经过验证),同时服务器为最终响应获取更多数据。该请求将在我的javascript客户端上使用ajax发出。我想我可以自己弄清楚客户端部分,但我是Go的新手,我真的需要一些帮助来编写响应。我没有很多相关代码可以展示,因为我完全不知道从哪里开始。但这是我正在尝试构建的非常基本的Go服务器...如果有帮助的话。packagemaini

安全地进行 http 重定向

我知道在PHP网络应用程序中,如果您使用header('Location:http://somewhere.com')进行重定向,但您没有die()/exit(),则始终执行并显示header函数之后的代码。我想知道在Go中使用http.Redirect(w,r,"/somewhere",302)时是否会发生同样的情况。如果是,如何避免。 最佳答案 http.Redirect函数写入一个完整的响应。程序在调用http.Redirect后继续执行。如果对http.Redirect的调用不是函数的最后一行,那么应用程序通常会在调用后立即

go - 如何将 http.Request 包装到 proto 文件中

我需要将http.Request包装到proto文件中,以便我可以从客户端向服务器端发送请求实例,如以下代码所示:messageWrapRequest{*http.Requestrequest=1;//thisiswrongint64start=2;int64stop=3;boolmatch=4;stringruleid=5;}我确定我代码中的请求行是错误的,有没有人知道如何实现它。非常感谢。 最佳答案 您可以不传递http.Request而传递http.Request.Body或http.Request.Header取决于做什么你

HTTP 服务器和客户端下载多个文件

我试过为单个文件设置下载服务器和下载客户端。我如何修改它们以提供/下载目录中的所有文件?以下是我的服务器和客户端代码://server.gofuncmain(){http.HandleFunc("/dlpath",handle)err:=http.ListenAndServe(":10001",nil)iferr!=nil{log.Fatal("ListenAndServe:",err)}}funchandle(writerhttp.ResponseWriter,r*http.Request){filename:="C:\\Users\\aarvi\\GolandProjects\\s

google-app-engine - 用于 SPA 和客户端路由的 AppEngine dispatch.yaml

我有一个Go服务器,其中有一个API和一个带有SPA(单页应用程序)的静态客户端build文件夹。由于SPA应该有客户端路由,我必须确保所有路径都映射到前端。例如,http://myapp.com/djaksfjal不应在浏览器中显示404,它应始终路由到我的SPA中的路由。现在我也想有一个后端API,所以所有对/api的请求都应该转到Go后端。问题:如何使用AppEngine进行设置?我尝试了两个app.yaml文件和一个dispatch.yaml文件,但无法让它工作。client-app.yamlruntime:goapi_version:go1service:defaulthan

http - ReverseProxy 依赖于 golang 中的 request.Body

我想构建一个http反向代理来检查HTTP正文,然后将HTTP请求发送到它的上游服务器。你怎么能在go中做到这一点?初始尝试(如下)失败,因为ReverseProxy复制传入请求、修改它并发送,但正文已被读取。funcmain(){backendServer:=httptest.NewServer(http.HandlerFunc(func(whttp.ResponseWriter,r*http.Request){b,err:=ioutil.ReadAll(r.Body)iferr!=nil{http.Error(w,fmt.Sprintf("ioutil.ReadAll:%s",er

go - 如何在 http.HandleFunc 中设置上下文值?

我想在http.HandleFunc中设置上下文值。以下方法似乎有效。虽然我有点担心*r=*r.WithContext(ctx)。typecontextKeystringvarmyContext=contextKey("myContext")funcsetValue(r*http.Request,valstring){ctx:=context.WithValue(r.Context(),myContext,val)*r=*r.WithContext(ctx)}http.HandleFunc("/",func(whttp.ResponseWriter,r*http.Request){se

javascript - 我怎样才能强制客户重新下载我的网站?

我正在使用github.com/gorilla/mux路由器用Go编写一个Web服务器。我的程序检查客户端是否有一个名为“名称”的cookie,并基于此提供两个文件之一。这是处理函数:funcindexHandler(whttp.ResponseWriter,r*http.Request){ifname,err:=r.Cookie("name");err==nil&&name.Value!=""{http.ServeFile(w,r,"static/messager.html")}else{http.ServeFile(w,r,"static/index.html")}}在Firefo

go - 如何使用 gin 包将类型 *http Cookies 转换为字符串

通过ajax,我正在设置cookie,在go中间件中,我只是获取cookie,但它是一种*httpCookie,我只想生成字符串,然后我应该使用什么来执行此操作。代码:-headerToken,_:=c.Request.Cookie("X-Test-Header")fmt.Println(headerToken)outputis`X-Test-Header=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InB1bmVldEBiay5jb20iLCJwYXNzd29yZCI6IjEyMzQ0In0.x0INnR3anZXjPEtwZSm