Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在dart shelf rpc服务器中获取客户端IP_Dart_Httprequest_Clientip_Dart Shelf_Dart Rpc - Fatal编程技术网

如何在dart shelf rpc服务器中获取客户端IP

如何在dart shelf rpc服务器中获取客户端IP,dart,httprequest,clientip,dart-shelf,dart-rpc,Dart,Httprequest,Clientip,Dart Shelf,Dart Rpc,我有一个用Shelf和Rpc API编写的dart web服务应用程序 我需要检查api方法中的客户端Ip,但我不知道如何检查 上下文方法不包含HttpRequest.contentInfo属性 此外,shelf请求对象也不包含它,因此中间件功能也没有用处 有人知道如何解决这个问题吗?您可以使用shelf的中间件概念来实现这一点。您可以在此处查看示例记录器中间件:。可在此处找到使用记录器的示例: 在中间件中,您可以在请求对象(扩展消息)中找到ip地址。消息允许您访问包含ip地址的原始http头。

我有一个用Shelf和Rpc API编写的dart web服务应用程序

我需要检查api方法中的客户端Ip,但我不知道如何检查

上下文方法不包含HttpRequest.contentInfo属性

此外,shelf请求对象也不包含它,因此中间件功能也没有用处


有人知道如何解决这个问题吗?

您可以使用shelf的中间件概念来实现这一点。您可以在此处查看示例记录器中间件:。可在此处找到使用记录器的示例:


在中间件中,您可以在请求对象(扩展消息)中找到ip地址。消息允许您访问包含ip地址的原始http头。从那里,您可以决定如何处理无效ip(抛出错误、返回错误请求等)

您可以使用shelf的中间件概念来实现这一点。您可以在此处查看示例记录器中间件:。可在此处找到使用记录器的示例:


在中间件中,您可以在请求对象(扩展消息)中找到ip地址。消息允许您访问包含ip地址的原始http头。从那里,您可以决定如何处理无效ip(抛出错误、返回错误请求等)

只是一个关于背景的问题。你想用客户端的IP地址做什么?因为有时通过IP地址来识别客户端不是一个好主意。我正在编写一个服务器应用程序,我只想接受来自授权IP的用户请求。只是一个关于上下文的问题。你想用客户端的IP地址做什么?因为有时通过IP地址来识别客户机不是一个好主意。我正在编写服务器应用程序,我只希望接受来自授权IP的用户请求。也许这只是因为我使用了cURL,但是当我查看创建的请求对象中的头时,我看不到任何对源IP的引用。事实上,我只有用户代理、接受和主机。你能告诉我在哪里可以得到请求者IP吗?也许这只是因为我在使用cURL,但是当我查看创建的请求对象中的头时,我看不到任何对源IP的引用。事实上,我只有用户代理、接受和主机。你能告诉我哪里可以获得请求者IP吗?