登录
首页 >  Golang >  Go问答

如何在 Golang gRPC 中获取客户端 IP 地址和用户代理?

来源:stackoverflow

时间:2024-04-27 08:15:33 198浏览 收藏

你在学习Golang相关的知识吗?本文《如何在 Golang gRPC 中获取客户端 IP 地址和用户代理?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我设置了一系列 gRPC 请求和响应,它们都工作正常,但当我尝试获取客户端 IP 地址和调用我的 gRPC API 的用户代理时,我陷入困境。

我阅读了 Go gRPC 文档和其他来源,但没有找到太多有价值的信息。他们很少谈论 Golang 中的 gRPC。

在设置 gRPC API 时,是否应该设置一个键值来在上下文中存储 IP 地址?


解决方案


在golang grpc中,你可以使用

func (UserServicesServer) Login(ctx context.Context, request *sso.LoginRequest) (*sso.LoginResponse, error) {
  p, _ := peer.FromContext(ctx)
  request.Frontendip = p.Addr.String()
  .
  .
}

但是,不要忘记 import "google.golang.org/grpc/peer"

好了,本文到此结束,带大家了解了《如何在 Golang gRPC 中获取客户端 IP 地址和用户代理?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>