无法从 maxmind 返回对象中获取键值

Posted

技术标签:

【中文标题】无法从 maxmind 返回对象中获取键值【英文标题】:Can not get key value from maxmind return object 【发布时间】:2020-09-27 09:54:24 【问题描述】:

我正在使用 maxmind 网络服务来获取用户数据:

这是输出数据的 php 代码。

现在你可以看到我已经注释掉了 ip_address、user_type、is_anonymous、is_anonymous_proxy、is_anonymous_***、is_tor_exit_node key 因为我无法使用这些键获得价值?

你能告诉我为什么吗?

$client = new Client( client number , 'my license keyu');       
// Call insights method to get full details        
$record = $client->insights( '103.82.11.26' ); 

//$result['ipAddress']         = $record->traits->ip_address;
$result['country']           = $record->country->name;
$result['city']              = $record->city->name;
//$result['userType']          = $record->traits->user_type;
$result['isp']               = $record->traits->isp;
$result['organization']      = $record->traits->organization;
$result['network']           = $record->traits->network;
//$result['isAanonymous']      = $record->traits->is_anonymous;
//$result['isAnonymous_proxy'] = $record->traits->is_anonymous_proxy;
//$result['isAnonymous_***']   = $record->traits->is_anonymous_***;
//$result['isTorExitNode']     = $record->traits->is_tor_exit_node;
$result['referer']           = $_SERVER['HTTP_REFERER'];
$result['userAgent']         = $_SERVER['HTTP_USER_AGENT'];    

如果我这样做了

print_r( $record );

我可以看到包含所有数据的完整对象。

更新

返回的实际对象https://codeshare.io/ad3nVy

【问题讨论】:

如果你可以分享 print($record) .. 只要钥匙就足够了 @SandeepKothari 好的。我正在分享它。 @SandeepKothari 我已经更新了我的问题或查看codeshare.io/ad3nVy 【参考方案1】:

您需要根据这些键使用名称:

 [0] => autonomousSystemNumber
                    [1] => autonomousSystemOrganization
                    [2] => connectionType
                    [3] => domain
                    [4] => ipAddress
                    [5] => isAnonymous
                    [6] => isAnonymousProxy
                    [7] => isAnonymous***
                    [8] => isHostingProvider
                    [9] => isLegitimateProxy
                    [10] => isp
                    [11] => isPublicProxy
                    [12] => isSatelliteProvider
                    [13] => isTorExitNode
                    [14] => network
                    [15] => organization
                    [16] => staticIpScore
                    [17] => userCount
                    [18] => userType
                )

所以,基本上例如:

$record->traits->ipAddress

【讨论】:

你说得对,但你怎么知道我需要使用这些键? 通过响应...实际上在响应中,如果您看到具有特征键的记录元素具有您需要的所有属性...而且,看起来共享响应已更改..如果您可以检查新的响应,您可以看到密钥

以上是关于无法从 maxmind 返回对象中获取键值的主要内容,如果未能解决你的问题,请参考以下文章

python遍历并获取对象属性--dir(),__dict__,getattr,setattr

如何获取自己键盘上按键的键值(KeyCode)

[677]. 键值映射

[677]. 键值映射

怎样从对象中获取键值并保存在对象中

如何从 AppSettings.Config 文件中获取键值?