精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

獲取iPhone本機IP地址非調用私有API方法

移動開發 iOS
本文介紹的是如何獲取iPhone本機IP地址并且不需調用私有API方法,文中很詳細的講解了IP地址是如何獲取的,來看詳細內容。

獲取iPhone本機IP地址并且不需調用私有API方法是本文要介紹的內容,主要是手頭一個iphone項目需要取iphone本機ip地址,在iphone os 2.0上可以用下面的方法獲得。內容不多,主要是代碼實現IP地址的獲取。

  1. -(NSString*)getAddress {  
  2. char iphone_ip[255];  
  3. strcpy(iphone_ip,"127.0.0.1"); // if everything fails  
  4. NSHost* myhost = [NSHost currentHost];  
  5. if (myhost)  
  6. {  
  7.     NSString *ad = [myhost address];  
  8.     if (ad)  
  9.         strcpy(iphone_ip,[ad cStringUsingEncoding:NSISOLatin1StringEncoding]);  
  10. }  
  11.       return [NSString stringWithFormat:@"%s",iphone_ip];   
  12. }  
  13. 到3.0這個方法成了蘋果私有api了,用了不對不說,error:  
  14.  
  15. warning: no ‘+currentHost’ method found  
  16. warning: (Messages without a matching method signature)  
  17.  
  18. ,提交的app還被reject:  
  19.  
  20. [NSHost currentHost] will also work, but it is deprecated and considered a “Private API” by Apple, 
  21. so you won’t be able to submit your application to App Store.  
  22.  
  23. google很久無果;今天無意發現一個老外的blog貼了方法,試用了下完全OK,要翻墻看,轉載記錄一下.  
  24.  
  25. As far as I know there is only one hacky way to do that. You basically open a socket and get its address using POSIX functions. 
  26. Here is the code I used for this:  
  27.  
  28. /*  
  29.  *  IPAdress.h  
  30.  *  
  31.  *  
  32.  */  
  33.    
  34. #define MAXADDRS    32  
  35.    
  36. extern char *if_names[MAXADDRS];  
  37. extern char *ip_names[MAXADDRS];  
  38. extern char *hw_addrs[MAXADDRS];  
  39. extern unsigned long ip_addrs[MAXADDRS];  
  40.    
  41. // Function prototypes  
  42.    
  43. void InitAddresses();  
  44. void FreeAddresses();  
  45. void GetIPAddresses();  
  46. void GetHWAddresses();  
  47.    
  48.    
  49. /*  
  50.  *  IPAddress.c  
  51.  *  
  52.  */  
  53.    
  54. #include "IPAddress.h"  
  55.    
  56. #include <stdio.h> 
  57. #include <stdlib.h> 
  58. #include <string.h> 
  59. #include <unistd.h> 
  60. #include <sys/ioctl.h> 
  61. #include <sys/types.h> 
  62. #include <sys/socket.h> 
  63. #include <netinet/in.h> 
  64. #include <netdb.h> 
  65. #include <arpa/inet.h> 
  66. #include <sys/sockio.h> 
  67. #include <net/if.h> 
  68. #include <errno.h> 
  69. #include <net/if_dl.h> 
  70.     
  71. #define    min(a,b)    ((a) < (b) ? (a) : (b))  
  72. #define    max(a,b)    ((a) > (b) ? (a) : (b))  
  73.    
  74. #define BUFFERSIZE    4000  
  75.    
  76. char *if_names[MAXADDRS];  
  77. char *ip_names[MAXADDRS];  
  78. char *hw_addrs[MAXADDRS];  
  79. unsigned long ip_addrs[MAXADDRS];  
  80.    
  81. static int   nextAddr = 0;  
  82.    
  83. void InitAddresses()  
  84. {  
  85.     int i;  
  86.     for (i=0; i<MAXADDRS; ++i)  
  87.     {  
  88.         if_names[i] = ip_names[i] = hw_addrs[i] = NULL;  
  89.         ip_addrs[i] = 0;  
  90.     }  
  91. }  
  92.    
  93. void FreeAddresses()  
  94. {  
  95.     int i;  
  96.     for (i=0; i<MAXADDRS; ++i)  
  97.     {  
  98.         if (if_names[i] != 0) free(if_names[i]);  
  99.         if (ip_names[i] != 0) free(ip_names[i]);  
  100.         if (hw_addrs[i] != 0) free(hw_addrs[i]);  
  101.         ip_addrs[i] = 0;  
  102.     }  
  103.     InitAddresses();  
  104. }  
  105.    
  106. void GetIPAddresses()  
  107. {  
  108.     int                 i, len, flags;  
  109.     char                buffer[BUFFERSIZE], *ptr, lastname[IFNAMSIZ], *cptr;  
  110.     struct ifconf       ifc;  
  111.     struct ifreq        *ifr, ifrcopy;  
  112.     struct sockaddr_in    *sin;  
  113.       
  114.     char temp[80];  
  115.       
  116.     int sockfd;  
  117.       
  118.     for (i=0; i<MAXADDRS; ++i)  
  119.     {  
  120.         if_names[i] = ip_names[i] = NULL;  
  121.         ip_addrs[i] = 0;  
  122.     }  
  123.       
  124.     sockfd = socket(AF_INET, SOCK_DGRAM, 0);  
  125.     if (sockfd < 0)  
  126.     {  
  127.         perror("socket failed");  
  128.         return;  
  129.     }  
  130.       
  131.     ifc.ifc_len = BUFFERSIZE;  
  132.     ifc.ifc_buf = buffer;  
  133.       
  134.     if (ioctl(sockfd, SIOCGIFCONF, &ifc) < 0)  
  135.     {  
  136.         perror("ioctl error");  
  137.         return;  
  138.     }  
  139.       
  140.     lastname[0] = 0;  
  141.       
  142.     for (ptr = buffer; ptr < buffer + ifc.ifc_len; )  
  143.     {  
  144.         ifr = (struct ifreq *)ptr;  
  145.         len = max(sizeof(struct sockaddr), ifr->ifr_addr.sa_len);  
  146.         ptr += sizeof(ifr->ifr_name) + len;    // for next one in buffer  
  147.           
  148.         if (ifr->ifr_addr.sa_family != AF_INET)  
  149.         {  
  150.             continue;    // ignore if not desired address family  
  151.         }  
  152.           
  153.         if ((cptr = (char *)strchr(ifr->ifr_name, ':')) != NULL)  
  154.         {  
  155.             *cptr = 0;        // replace colon will null  
  156.         }  
  157.           
  158.         if (strncmp(lastname, ifr->ifr_name, IFNAMSIZ) == 0)  
  159.         {  
  160.             continue;    /* already processed this interface */  
  161.         }  
  162.           
  163.         memcpy(lastname, ifr->ifr_name, IFNAMSIZ);  
  164.           
  165.         ifrcopy = *ifr;  
  166.         ioctl(sockfd, SIOCGIFFLAGS, &ifrcopy);  
  167.         flags = ifrcopy.ifr_flags;  
  168.         if ((flags & IFF_UP) == 0)  
  169.         {  
  170.             continue;    // ignore if interface not up  
  171.         }  
  172.           
  173.         if_names[nextAddr] = (char *)malloc(strlen(ifr->ifr_name)+1);  
  174.         if (if_names[nextAddr] == NULL)  
  175.         {  
  176.             return;  
  177.         }  
  178.         strcpy(if_names[nextAddr], ifr->ifr_name);  
  179.           
  180.         sin = (struct sockaddr_in *)&ifr->ifr_addr;  
  181.         strcpy(temp, inet_ntoa(sin->sin_addr));  
  182.           
  183.         ip_names[nextAddr] = (char *)malloc(strlen(temp)+1);  
  184.         if (ip_names[nextAddr] == NULL)  
  185.         {  
  186.             return;  
  187.         }  
  188.         strcpy(ip_names[nextAddr], temp);  
  189.           
  190.         ip_addrs[nextAddr] = sin->sin_addr.s_addr;  
  191.           
  192.         ++nextAddr;  
  193.     }  
  194.       
  195.     close(sockfd);  
  196. }  
  197.    
  198. void GetHWAddresses()  
  199. {  
  200.     struct ifconf ifc;  
  201.     struct ifreq *ifr;  
  202.     int i, sockfd;  
  203.     char buffer[BUFFERSIZE], *cp, *cplim;  
  204.     char temp[80];  
  205.       
  206.     for (i=0; i<MAXADDRS; ++i)  
  207.     {  
  208.         hw_addrs[i] = NULL;  
  209.     }  
  210.       
  211.     sockfd = socket(AF_INET, SOCK_DGRAM, 0);  
  212.     if (sockfd < 0)  
  213.     {  
  214.         perror("socket failed");  
  215.         return;  
  216.     }  
  217.       
  218.     ifc.ifc_len = BUFFERSIZE;  
  219.     ifc.ifc_buf = buffer;  
  220.       
  221.     if (ioctl(sockfd, SIOCGIFCONF, (char *)&ifc) < 0)  
  222.     {  
  223.         perror("ioctl error");  
  224.         close(sockfd);  
  225.         return;  
  226.     }  
  227.       
  228.     ifr = ifc.ifc_req;  
  229.       
  230.     cplim = buffer + ifc.ifc_len;  
  231.       
  232.     for (cp=buffer; cp < cplim; )  
  233.     {  
  234.         ifr = (struct ifreq *)cp;  
  235.         if (ifr->ifr_addr.sa_family == AF_LINK)  
  236.         {  
  237.             struct sockaddr_dl *sdl = (struct sockaddr_dl *)&ifr->ifr_addr;  
  238.             int a,b,c,d,e,f;  
  239.             int i;  
  240.               
  241.             strcpy(temp, (char *)ether_ntoa(LLADDR(sdl)));  
  242.             sscanf(temp, "%x:%x:%x:%x:%x:%x", &a, &b, &c, &d, &e, &f);  
  243.             sprintf(temp, "%02X:%02X:%02X:%02X:%02X:%02X",a,b,c,d,e,f);  
  244.               
  245.             for (i=0; i<MAXADDRS; ++i)  
  246.             {  
  247.                 if ((if_names[i] != NULL) && (strcmp(ifr->ifr_name,if_names[i]) == 0))  
  248.                 {  
  249.                     if (hw_addrs[i] == NULL)  
  250.                     {  
  251.                         hw_addrs[i] = (char *)malloc(strlen(temp)+1);  
  252.                         strcpy(hw_addrs[i], temp);  
  253.                         break;  
  254.                     }  
  255.                 }  
  256.             }  
  257.         }  
  258.         cp += sizeof(ifr->ifr_name) + max(sizeof(ifr->ifr_addr), ifr->ifr_addr.sa_len);  
  259.     }  
  260.       
  261.     close(sockfd);  
  262. }  
  263. test:  
  264.  
  265. #import "IPAdress.h"  
  266.  
  267. - (NSString *)deviceIPAdress {  
  268.     InitAddresses();  
  269.     GetIPAddresses();  
  270.     GetHWAddresses();  
  271.     return [NSString stringWithFormat:@"%s", ip_names[1]];  
  272. }  
  273.    
  274. - (void)viewDidLoad {  
  275.     [super viewDidLoad];  
  276.    
  277.     NSString* ip_iphone = [self deviceIPAdress];  
  278.    NSLog(@"ip:%@",ip_iphone);  

小結:獲取iPhone本機IP地址非調用私有API方法的內容介紹完了,希望本文能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2009-12-04 08:48:38

FAST路由器IP地址

2011-08-05 16:58:25

iPad iPhone UIImagePic

2011-09-26 09:54:40

perl獲取本機ip

2009-06-19 17:31:59

Java獲取IP地址

2020-11-30 12:15:26

KubernetesPodLinux

2011-07-25 15:46:10

iPhone 動態

2010-06-13 14:26:22

IP協議地址

2011-11-30 15:43:40

JavaJSP

2009-09-18 19:21:17

C#接口

2024-04-15 05:00:00

kubernete網絡容器

2009-07-24 10:38:35

ASP.NET獲取MA

2018-11-29 13:50:02

APIAPP數據集

2009-12-07 09:31:23

Linux系統調用表地址

2009-02-18 10:17:00

寬帶網絡IP地址

2018-05-14 10:56:36

MySQL數據庫存儲

2019-08-22 07:24:25

2020-09-16 18:27:36

Linux方法IP地址

2022-10-10 09:13:09

本機函數匯編代碼

2015-07-10 09:08:52

IP地址IP地址沖突

2020-04-23 09:11:09

網絡協議網絡設備網絡
點贊
收藏

51CTO技術棧公眾號

久久婷婷国产综合国色天香| 国产精品久久久久久| 亚洲sss视频在线视频| 99c视频在线| 亚洲 欧美 日韩 综合| 日韩影视在线观看| 欧美网站一区二区| 精品嫩模一区二区三区| 人妻妺妺窝人体色www聚色窝| 国产精品女主播一区二区三区| 伊人伊人伊人久久| 中文字幕在线视频一区二区| 最近高清中文在线字幕在线观看1| 中文字幕乱码日本亚洲一区二区 | 亚洲第一会所| 亚洲美女偷拍久久| 欧美日韩高清在线一区| 91丨九色丨蝌蚪丨对白| 国产精品亚洲产品| www.欧美精品| 人妻熟女aⅴ一区二区三区汇编| 精品美女一区| 精品成人在线视频| 日本xxxxx18| 极品美乳网红视频免费在线观看 | 欧美视频一二三| 欧美大片免费播放| wwwxxx在线观看| 99久久久久免费精品国产| 成人激情电影一区二区| 亚洲天堂视频网站| 激情欧美一区二区三区| 色偷偷av亚洲男人的天堂| 免费啪视频在线观看| 91亚色免费| 日本中文字幕成人| 亚洲色图27p| 日韩欧美四区| 欧美成人午夜电影| 一级做a免费视频| 日韩欧美一区二区三区在线观看| 亚洲在线观看免费视频| 中文一区一区三区免费| 激情小视频在线观看| 国产成人av资源| 91九色单男在线观看| 日韩免费av网站| 一本久道久久久| 欧美极品欧美精品欧美视频 | 成人sese在线| 95av在线视频| 国产精品欧美综合亚洲| 麻豆成人久久精品二区三区小说| 欧美在线影院在线视频| 日韩 欧美 综合| 亚洲区一区二| 91精品国产91久久久久福利| 岛国毛片在线观看| 天天影视欧美综合在线观看| 深夜福利国产精品| 人妻精品久久久久中文| 亚洲欧洲美洲国产香蕉| 日韩av在线不卡| xxxxxx黄色| 欧美一级二级三级视频| 亚洲精品ady| 蜜臀aⅴ国产精品久久久国产老师| 中文字幕视频精品一区二区三区| 欧美tickling网站挠脚心| www.欧美com| 波多野结衣欧美| 精品国产乱码久久久久久牛牛| 在线成人精品视频| 国产乱人伦精品一区| 亚洲精品动漫100p| 久久久久久久人妻无码中文字幕爆| 久久a爱视频| 亚洲欧美日韩在线高清直播| 免费黄色片网站| 国产精品久久久久久影院8一贰佰| 久久久精品欧美| 18精品爽视频在线观看| 亚洲一区二区毛片| 国产mv久久久| 国产一区二区自拍视频| 国产91丝袜在线播放九色| 国产精品一区二区免费看| 男人的天堂在线| 国产精品大尺度| 97超碰国产精品| 中文字幕在线看片| 欧美日韩视频在线第一区| 一二三av在线| 婷婷成人综合| 综合久久五月天| 久久亚洲AV无码| 午夜综合激情| 91沈先生在线观看| 亚州男人的天堂| 中文字幕在线观看一区二区| h无码动漫在线观看| 天天综合网站| 欧美一区二区三区性视频| a级一a一级在线观看| 日韩中文首页| **欧美日韩vr在线| 国产精品玖玖玖| 久久天天做天天爱综合色| 亚洲最大免费| 在线中文字幕播放| 777xxx欧美| 欧美图片一区二区| 女人香蕉久久**毛片精品| 97成人超碰免| 国产夫妻自拍av| 国产欧美一区在线| 黄色一级在线视频| 伊人久久精品| 亚洲毛片在线看| 久久久国产精品黄毛片| 日韩av电影天堂| 精品一区二区三区免费毛片| 黄色国产网站在线播放| 在线视频你懂得一区| 免费观看污网站| 婷婷亚洲五月| 国产精品爽黄69天堂a| 人妻一区二区三区| 亚洲欧美日韩电影| 日本成人在线免费视频| 欧美人妖在线观看| 久久97精品久久久久久久不卡| 久草视频在线免费| 26uuu久久天堂性欧美| 国产亚洲黄色片| 日韩美女在线| 伊人久久男人天堂| 亚洲精品中文字幕乱码三区91| 成人午夜大片免费观看| 中文字幕乱码一区二区三区 | 欧美午夜激情视频| 四虎精品一区二区| 欧美日韩亚洲一区三区| 亚洲已满18点击进入在线看片| avtt亚洲| 欧美日韩精品免费观看视频| 日本综合在线观看| 三级一区在线视频先锋| 久久久com| 五月天av在线| 日韩电影免费观看在线观看| 91在线看视频| av成人免费在线| 鲁一鲁一鲁一鲁一色| 国产精品jk白丝蜜臀av小说| 久久久久久国产三级电影| 性欧美8khd高清极品| 亚洲乱码中文字幕| 手机在线播放av| 国产精品黄色| 国产亚洲情侣一区二区无| 福利成人导航| 亚洲激情自拍图| 一级黄色免费网站| 国产亚洲成aⅴ人片在线观看 | 色黄视频在线观看| 亚洲国产日韩欧美在线图片 | 欧美亚洲愉拍一区二区| 亚洲一二三精品| 开心九九激情九九欧美日韩精美视频电影 | 波多野结衣与黑人| 麻豆国产一区| 午夜精品久久17c| 婷婷视频在线观看| 色综合欧美在线| 欧美日韩在线精品| 国产三区四区在线观看| 欧美影院午夜播放| 看免费黄色录像| 高清久久久久久| 国产免费毛卡片| 精品久久久久久久| 成人观看高清在线观看免费| 日本动漫同人动漫在线观看| 亚洲国产天堂久久综合| 国产免费www| 亚洲欧美另类久久久精品| 人妻 丝袜美腿 中文字幕| 在线视频精品| 亚洲高清不卡一区| 麻豆国产一区| 欧美在线视频观看免费网站| 97视频在线观看网站| 日韩一级片在线观看| 色婷婷av国产精品| 亚洲同性gay激情无套| 永久免费未满蜜桃| 免费精品视频最新在线| 精品丰满人妻无套内射| 国产一区二区三区四区五区传媒| 成人黄色片在线| 男人的天堂免费在线视频| 丝袜美腿亚洲一区二区| 亚洲女同志亚洲女同女播放| 日本丰满少妇一区二区三区| 1024手机在线视频| 久久久av毛片精品| 韩国三级在线看| 美女免费视频一区二区| 日日碰狠狠添天天爽超碰97| 欧美r级电影| 久久99精品久久久久久秒播放器| 亚洲色图综合| 国产ts人妖一区二区三区| 成年人网站在线| 亚洲香蕉成人av网站在线观看 | 久久久精品欧美| 免费黄网站在线观看| 日韩欧美一区中文| 羞羞色院91蜜桃| 午夜精品视频一区| 美女的奶胸大爽爽大片| 中文久久乱码一区二区| 欧美丰满少妇人妻精品| 成人网男人的天堂| 亚洲理论中文字幕| 麻豆免费精品视频| 97xxxxx| 99av国产精品欲麻豆| 欧美区二区三区| 91porny九色| 欧美日韩在线视频首页| 久久久夜色精品| 亚洲免费在线观看| 免费看的黄色录像| 国产色综合一区| 美女爆乳18禁www久久久久久| av资源网一区| 久久久精品视频国产| 日韩影院免费视频| 欧美黄色一级片视频| 亚洲欧美激情诱惑| 青青青国产在线观看| 亚洲精品美女| 久久久久久久久久网| 国产精品jizz在线观看美国| 免费看黄色a级片| 在线观看国产精品入口| 公共露出暴露狂另类av| 围产精品久久久久久久| 欧美性受xxxx黑人猛交88| 偷拍欧美精品| 国产精品一二三在线观看| 综合久久亚洲| 日本五级黄色片| 亚洲美女一区| 欧美女人性生活视频| 麻豆亚洲精品| 国产一级做a爰片久久| 男女男精品网站| 免费看涩涩视频| 精品一区二区三区在线播放| 五月六月丁香婷婷| 国产精品伊人色| 美女伦理水蜜桃4| 97久久超碰国产精品| 免费观看av网站| 国产精品视频九色porn| 黄色录像免费观看| 一区二区国产盗摄色噜噜| 国产精品成人aaaa在线| 欧美色另类天堂2015| 国产第一页在线观看| 欧美日韩精品一区二区| 97在线视频人妻无码| 日韩欧美另类在线| 色婷婷视频在线| 亚洲欧美日韩一区二区在线 | 96av麻豆蜜桃一区二区| 无码人妻精品一区二区三区温州| 久久久精品tv| 熟女少妇a性色生活片毛片| 一区二区在线免费观看| 中国一级免费毛片| 欧美日韩国产区一| 亚洲高清视频在线播放| 亚洲欧洲激情在线| 日本视频在线观看| 久久久久国产精品免费网站| 国产精品扒开腿做爽爽爽视频软件| 成人免费在线视频网站| 久久久久久久久久久久久久久久久久久久 | 中国精品一区二区| 欧美一区二区视频在线观看2022| 天天综合永久入口| xxx欧美精品| 麻豆视频在线看| 国产男人精品视频| 国产亚洲精品美女久久| 亚洲一区精彩视频| 亚洲精品影视| 一起操在线视频| 久久综合五月天婷婷伊人| 免费看91的网站| 亚洲国产精品一区二区尤物区| 中文字幕乱码人妻无码久久| 亚洲丁香婷深爱综合| 香蕉视频在线免费看| 国自产精品手机在线观看视频| 久久亚洲国产精品尤物| 久精品国产欧美| 亚洲精品久久久| 免费涩涩18网站入口| av不卡在线播放| 精国产品一区二区三区a片| 欧美丝袜丝交足nylons| 日韩一级中文字幕| 久久综合久中文字幕青草| 自由日本语热亚洲人| 91亚洲人电影| 奇米影视亚洲| 日本在线视频www| 成人av在线网站| tube国产麻豆| 欧美日韩夫妻久久| 黄色影院在线播放| 7777免费精品视频| 最新精品在线| 国产精品12p| 久久国产精品一区二区| 欧美性猛交xxxx乱| 黑人极品videos精品欧美裸| 免费观看黄一级视频| 不卡中文字幕av| 亚洲一区av| 亚洲一卡二卡三卡| 三级亚洲高清视频| 少妇光屁股影院| 偷窥国产亚洲免费视频 | 亚洲视频axxx| 二区三区不卡| 欧美不卡福利| 西西人体一区二区| 毛茸茸多毛bbb毛多视频| 亚洲图片欧美视频| 亚洲AV无码一区二区三区性| 久久av在线看| 日本99精品| 中文字幕日韩精品无码内射| 国产精品白丝av| 欧美成人精品一区二区免费看片| 日韩一区二区三| 调教一区二区| 国产伦精品一区二区三区在线| 欧美婷婷在线| 中文乱码人妻一区二区三区视频| 精品福利免费观看| 三级在线播放| 国产99久久精品一区二区 夜夜躁日日躁 | 日本色护士高潮视频在线观看 | 美女毛片一区二区三区四区| 国产性xxxx18免费观看视频| 久久久天堂av| 中文字幕视频免费观看| 日韩视频永久免费观看| 国产福利91精品一区二区| 中文字幕久久综合| 国产精品一区二区久激情瑜伽| 免费网站观看www在线观| 亚洲成年网站在线观看| 天堂av在线| 亚洲精品一区二区三区樱花| 黑人巨大精品欧美一区| 久久久一区二区三区四区| 精品一区二区电影| 亚洲成人va| 狠狠精品干练久久久无码中文字幕 | 欧美久久综合网| 中文av字幕在线观看| 亚洲一区二区三区小说| 奇米影视888狠狠狠777不卡| 国产精品视频一区二区高潮| 女人天堂亚洲aⅴ在线观看| 日本黄色录像片| 欧美午夜精品一区二区三区| 伊人福利在线| 蜜桃麻豆91| 国产一区在线看| 国产成人无码精品亚洲| 亚洲图片欧美午夜| 国产精品久久久久久久久久辛辛 | 欧美日韩成人一区| 2020国产在线视频| 久久精品国产精品国产精品污| 麻豆视频一区二区| 豆国产97在线 | 亚洲| 国产一区二区三区视频| 亚洲无线观看| 久草福利视频在线| 亚洲一区二区av在线|