
# 示例五：通过子网ID或IP地址查询端口
#### 操作场景
虚拟IP、弹性网卡等都是一种端口资源，在控制台界面上会显示端口的IP地址和所属子网等信息，更详细的信息可以通过端口的API来获取。
本章节指导用户通过调用API来获取端口资源的详细信息。
#### 前提条件
已创建VPC和子网，并获取VPC和子网的ID，具体请参见[创建VPC和子网](https://support.huaweicloud.com/api-cce/cce_02_0100.html)。
已创建虚拟IP、弹性网卡或其他端口资源，并获取其IP地址和所属子网的ID，具体请参见[申请虚拟IP地址](https://support.huaweicloud.com/usermanual-vpc/vpc_vip_0002.html)、[创建弹性网卡](https://support.huaweicloud.com/usermanual-vpc/vpc_nic_0002.html)。
当您使用Token认证方式完成认证鉴权时，需要获取用户Token并在调用接口时增加"X-Auth-Token"到业务接口请求消息头中。Token认证，具体操作请参考[认证鉴权](https://support.huaweicloud.com/api-vpc/vpc_api00_0010.html)。
![](https://support.huaweicloud.com/api-vpc/public_sys-resources/note_3.0-zh-cn.png)
通过IAM服务获取到的Token有效期为24小时，需要使用同一个Token鉴权时，可以先将Token缓存，避免频繁调用。
#### 操作步骤
1. 通过子网ID或IP地址过滤查询端口。
   1. 发送"GET https://VPC的Endpoint/v1/{project_id}/ports?fixed_ips=ip_address={ip_address}\&fixed_ips=subnet_id={subnet_id}"， project_id为项目ID，ip_address为端口资源的IP地址，subnet_id为端口资源所在子网的ID（IPV4/IPV6子网ID，不是网络ID）。
      **过滤信息格式举例 fixed_ips=ip_address=192.168.27.75，** **fixed_ips=subnet_id=f60f887b-60e1-4647-a762-b5c6925909cd**
      
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 查看请求响应结果。
      - 请求成功时，响应参数如下，id就是port_id，可以看到端口的详细信息。
        ```
        {
            "ports": [
                {
                    "id": "6026a064-eacc-4c40-a0fd-9dcc456ad495",
                    "name": "",
                    "status": "DOWN",
                    "admin_state_up": true,
                    "fixed_ips": [
                        {
                            "subnet_id": "f60f887b-60e1-4647-a762-b5c6925909cd",
                            "ip_address": "192.168.27.75"
                        }
                    ],
                    "mac_address": "fa:16:3e:ab:1e:4e",
                    "network_id": "b033c3b8-59ea-4a15-9f86-648119cdc50a",
                    "tenant_id": "5f6387106c2048b589b369d96c2f23a2",
                    "device_id": "",
                    "device_owner": "neutron:VIP_PORT",
                    "security_groups": [],
                    "extra_dhcp_opts": [],
                    "allowed_address_pairs": [],
                    "binding:vnic_type": "normal",
                    "binding:vif_details": {},
                    "binding:profile": {},
                    "port_security_enabled": true,
                    "instance_type": "",
                    "instance_id": "",
                    "zone_id": "cn-north-4a"
                }
            ]
        }
        ```
        
      
      - 请求异常时，错误码请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
       
    

2. 查询端口详情。
   1. 如果已知端口ID，可以通过下面的接口查询端口详情。
   
   2. 发送"GET https://VPC的Endpoint/v1/{project_id}/ports/{port_id}"，project_id为项目ID，port_id为端口ID。
   
   3. 在Request Header中增加"X-Auth-Token"。
   
   4. 查看请求响应结果。
      - 请求成功时，响应参数如下。
        ```
        {
            "port": {
                "id": "6026a064-eacc-4c40-a0fd-9dcc456ad495",
                "name": "",
                "status": "DOWN",
                "admin_state_up": true,
                "fixed_ips": [
                    {
                        "subnet_id": "f60f887b-60e1-4647-a762-b5c6925909cd",
                        "ip_address": "192.168.27.75"
                    }
                ],
                "mac_address": "fa:16:3e:ab:1e:4e",
                "network_id": "b033c3b8-59ea-4a15-9f86-648119cdc50a",
                "tenant_id": "5f6387106c2048b589b369d96c2f23a2",
                "device_id": "",
                "device_owner": "neutron:VIP_PORT",
                "security_groups": [],
                "extra_dhcp_opts": [],
                "allowed_address_pairs": [],
                "binding:vnic_type": "normal",
                "binding:vif_details": {},
                "binding:profile": {},
                "port_security_enabled": true,
                "instance_type": "",
                "instance_id": "",
                "zone_id": "cn-north-4a"
            }
        }
        ```
        
      
      - 请求异常时，错误码请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
       
    
 
