亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stdsoap2.c

?? linux下開發的soap協議。建議大家學習學習!
?? C
?? 第 1 頁 / 共 5 頁
字號:
/******************************************************************************/static inttcp_connect(struct soap *soap, const char *endpoint, const char *hostname, int port){ struct sockaddr_in sockaddr;  int len = SOAP_BUFLEN;  int set = 1;  if (tcp_init(soap))  { soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP initialization failed in tcp_connect()", SOAP_TCP_ERROR);    return -1;  }  if (soap->socket >= 0)    closesocket(soap->socket);  soap->errmode = 0;  if ((soap->socket = socket(AF_INET, SOCK_STREAM, 0)) < 0)  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP socket failed in tcp_connect()", SOAP_TCP_ERROR);    return -1;  }  if (soap->keep_alive && setsockopt(soap->socket, SOL_SOCKET, SO_KEEPALIVE, (char*)&set, sizeof(int)))  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP setsockopt SO_KEEPALIVE failed in tcp_connect()", SOAP_TCP_ERROR);    return -1;  }#ifndef UNDER_CE  if (setsockopt(soap->socket, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int)))  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP setsockopt SO_SNDBUF failed in tcp_connect()", SOAP_TCP_ERROR);    return -1;  }  if (setsockopt(soap->socket, SOL_SOCKET, SO_RCVBUF, (char*)&len, sizeof(int)))  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP setsockopt SO_RCVBUF failed in tcp_connect()", SOAP_TCP_ERROR);    return -1;  }#endif#ifdef TCP_NODELAY  if (setsockopt(soap->socket, IPPROTO_TCP, TCP_NODELAY, (char*)&set, sizeof(int)))  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP setsockopt TCP_NODELAY failed in tcp_connect()", SOAP_TCP_ERROR);    return -1;  }#endif  memset(&sockaddr, 0, sizeof(sockaddr));  sockaddr.sin_family = AF_INET;  DBGLOG(TEST,SOAP_MESSAGE(fdebug,"\nOpen socket: %d to hostname '%s'", soap->socket, hostname));  soap->errmode = 2;  if (soap->proxy_host)  { if (soap_gethost(soap, soap->proxy_host, &sockaddr.sin_addr))    { soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP get proxy host by name failed in tcp_connect()", SOAP_TCP_ERROR);      return -1;    }    sockaddr.sin_port = htons((short)soap->proxy_port);  }  else  { if (soap_gethost(soap, hostname, &sockaddr.sin_addr))    { soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP get host by name failed in tcp_connect()", SOAP_TCP_ERROR);      return -1;    }    sockaddr.sin_port = htons((short)port);  }  soap->errmode = 0;  if (soap->connect_timeout)#ifdef WIN32  { u_long nonblocking = 1;    ioctlsocket(soap->socket, FIONBIO, &nonblocking);  }#else    fcntl(soap->socket, F_SETFL, fcntl(soap->socket, F_GETFL)|O_NONBLOCK);#endif  for (;;)  { if (connect(soap->socket, (struct sockaddr*)&sockaddr, sizeof(sockaddr)))    { if (soap_errno == SOAP_EINPROGRESS && soap->connect_timeout)      { struct timeval timeout;        fd_set fd;        if (soap->connect_timeout > 0)        { timeout.tv_sec = soap->connect_timeout;          timeout.tv_usec = 0;        }        else        { timeout.tv_sec = -soap->connect_timeout/1000000;          timeout.tv_usec = -soap->connect_timeout%1000000;        }        FD_ZERO(&fd);        FD_SET(soap->socket, &fd);        for (;;)        { if (select(soap->socket + 1, NULL, &fd, NULL, &timeout) > 0)            break;          if (soap_errno != SOAP_EINTR)          { soap->errnum = soap_errno;            DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\nCould not connect to host"));            soap_closesock(soap);            soap_set_error(soap, "SOAP-ENV:Client", "Timeout", "TCP connect failed in tcp_connect()", SOAP_TCP_ERROR);            return -1;          }        }	break;      }      else if (soap_errno != SOAP_EINTR)      { soap->errnum = soap_errno;        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\nCould not connect to host"));        soap_closesock(soap);        soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP connect failed in tcp_connect()", SOAP_TCP_ERROR);        return -1;      }    }      else      break;  }  if (soap->connect_timeout)#ifdef WIN32  { u_long blocking = 0;    ioctlsocket(soap->socket, FIONBIO, &blocking);  }#else    fcntl(soap->socket, F_SETFL, fcntl(soap->socket, F_GETFL)&~O_NONBLOCK);#endif#ifdef WITH_OPENSSL  if (!strncmp(endpoint, "https:", 6))  { int r;    if (ssl_auth_init(soap))    { soap_set_error(soap, "SOAP-ENV:Client", "", "SSL initialization failed in tcp_connect()", SOAP_SSL_ERROR);      return -1;    }    soap->ssl = SSL_new(soap_ssl_ctx);    if (!soap->ssl)    { soap->error = SOAP_SSL_ERROR;      return -1;    }    soap->bio = BIO_new_socket(soap->socket, BIO_NOCLOSE);    SSL_set_bio(soap->ssl, soap->bio, soap->bio);    if ((r = SSL_connect(soap->ssl)) <= 0)    { soap_set_error(soap, "SOAP-ENV:Client", ssl_error(soap, r), "SSL connect failed in tcp_connect()", SOAP_SSL_ERROR);      return -1;    }    if (soap->require_server_auth)    { X509 *peer;      if (SSL_get_verify_result(soap->ssl) != X509_V_OK)      { soap_set_error(soap, "SOAP-ENV:Client", "", "SSL certificate cannot be verified in tcp_connect()", SOAP_SSL_ERROR);	return -1;      }      peer = SSL_get_peer_certificate(soap->ssl);      X509_NAME_get_text_by_NID(X509_get_subject_name(peer), NID_commonName, soap->msgbuf, 1024);      if (strcasecmp(soap->msgbuf, hostname))      { soap_set_error(soap, "SOAP-ENV:Client", "", "SSL certificate host name mismatch in tcp_connect()", SOAP_SSL_ERROR);	return -1;      }    }  }#endif  soap->buffering = 1;  return soap->socket;}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_bind(struct soap *soap, const char *hostname, int port, int backlog){ struct sockaddr_in sockaddr;  int len = SOAP_BUFLEN;  int set = 1;  soap->master = -1;  soap->socket = -1;  soap->errmode = 1;  if (tcp_init(soap))  { soap_set_error(soap, "SOAP-ENV:Server", tcp_error(soap), "TCP init failed in soap_bind()", SOAP_TCP_ERROR);    return -1;  }  soap->errmode = 0;  if ((soap->master = socket(AF_INET, SOCK_STREAM, 0)) < 0)  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Server", tcp_error(soap), "TCP socket failed in soap_bind()", SOAP_TCP_ERROR);    return -1;  }  if (setsockopt(soap->master, SOL_SOCKET, SO_REUSEADDR, (char*)&set, sizeof(int)))  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP setsockopt SO_REUSEADDR failed in soap_bind()", SOAP_TCP_ERROR);    return -1;  }  if (soap->keep_alive && setsockopt(soap->master, SOL_SOCKET, SO_KEEPALIVE, (char*)&set, sizeof(int)))  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP setsockopt SO_KEEPALIVE failed in soap_bind()", SOAP_TCP_ERROR);    return -1;  }#ifndef UNDER_CE  if (setsockopt(soap->master, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int)))  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP setsockopt SO_SNDBUF failed in soap_bind()", SOAP_TCP_ERROR);    return -1;  }  if (setsockopt(soap->master, SOL_SOCKET, SO_RCVBUF, (char*)&len, sizeof(int)))  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP setsockopt SO_RCVBUF failed in soap_bind()", SOAP_TCP_ERROR);    return -1;  }#endif#ifdef TCP_NODELAY  if (setsockopt(soap->master, IPPROTO_TCP, TCP_NODELAY, (char*)&set, sizeof(int)))  { soap->errnum = soap_errno;    soap_set_error(soap, "SOAP-ENV:Client", tcp_error(soap), "TCP setsockopt TCP_NODELAY failed in soap_bind()", SOAP_TCP_ERROR);    return -1;  }#endif  memset(&sockaddr, 0, sizeof(sockaddr));  sockaddr.sin_family = AF_INET;  soap->errmode = 2;  if (hostname)  { if (soap_gethost(soap, hostname, &sockaddr.sin_addr))    { soap_set_error(soap, "SOAP-ENV:Server", tcp_error(soap), "TCP get host by name failed in soap_bind()", SOAP_TCP_ERROR);      return -1;    }  }  else    sockaddr.sin_addr.s_addr = htonl(INADDR_ANY);  sockaddr.sin_port = htons((short)port);  soap->errmode = 0;  if (bind(soap->master, (struct sockaddr*)&sockaddr, sizeof(sockaddr)) || listen(soap->master, backlog))  { soap->errnum = soap_errno;    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\nCould not bind to host"));    soap_closesock(soap);    soap_set_error(soap, "SOAP-ENV:Server", tcp_error(soap), "TCP bind failed in soap_bind()", SOAP_TCP_ERROR);    return -1;  }    return soap->master;}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_accept(struct soap *soap){ struct sockaddr_in sockaddr;  int len = SOAP_BUFLEN;  int set = 1;#if defined(__socklen_t_defined) || defined(_SOCKLEN_T)  socklen_t n = sizeof(struct sockaddr_in);#else  int n = sizeof(struct sockaddr_in);#endif  memset(&sockaddr, 0, sizeof(sockaddr));  soap->socket = -1;  soap->errmode = 0;  if (soap->master > 0)  { for (;;)    { if (soap->accept_timeout)      { struct timeval timeout;        fd_set fd;        if (soap->accept_timeout > 0)	{ timeout.tv_sec = soap->accept_timeout;          timeout.tv_usec = 0;	}	else	{ timeout.tv_sec = -soap->accept_timeout/1000000;          timeout.tv_usec = -soap->accept_timeout%1000000;	}        FD_ZERO(&fd);        FD_SET(soap->master, &fd);        for (;;)        { if (select(soap->master + 1, &fd, &fd, NULL, &timeout) > 0)            break;          if (soap_errno != SOAP_EINTR)          { soap->errnum = soap_errno;            soap_set_error(soap, "SOAP-ENV:Server", "Timeout", "TCP accept failed in soap_accept()", SOAP_TCP_ERROR);	    return -1;	  }        }#ifdef WIN32        { u_long nonblocking = 1;          ioctlsocket(soap->master, FIONBIO, &nonblocking);        }#else        fcntl(soap->master, F_SETFL, fcntl(soap->master, F_GETFL)|O_NONBLOCK);#endif      }      if ((soap->socket = accept(soap->master, (struct sockaddr*)&sockaddr, &n)) >= 0)      { soap->ip = ntohl(sockaddr.sin_addr.s_addr);        if (soap->keep_alive && setsockopt(soap->socket, SOL_SOCKET, SO_KEEPALIVE, (char*)&set, sizeof(int)))        { soap->errnum = soap_errno;          soap_set_error(soap, "SOAP-ENV:Server", tcp_error(soap), "TCP setsockopt SO_KEEPALIVE failed in soap_accept()", SOAP_TCP_ERROR);          return -1;        }#ifndef UNDER_CE        if (setsockopt(soap->socket, SOL_SOCKET, SO_SNDBUF, (char*)&len, sizeof(int)))        { soap->errnum = soap_errno;          soap_set_error(soap, "SOAP-ENV:Server", tcp_error(soap), "TCP setsockopt SO_SNDBUF failed in soap_accept()", SOAP_TCP_ERROR);          return -1;        }        if (setsockopt(soap->socket, SOL_SOCKET, SO_RCVBUF, (char*)&len, sizeof(int)))        { soap->errnum = soap_errno;          soap_set_error(soap, "SOAP-ENV:Server", tcp_error(soap), "TCP setsockopt SO_RCVBUF failed in soap_accept()", SOAP_TCP_ERROR);          return -1;        }#endif#ifdef TCP_NODELAY        if (setsockopt(soap->socket, IPPROTO_TCP, TCP_NODELAY, (char*)&set, sizeof(int)))        { soap->errnum = soap_errno;          soap_set_error(soap, "SOAP-ENV:Server", tcp_error(soap), "TCP setsockopt TCP_NODELAY failed in soap_accept()", SOAP_TCP_ERROR);          return -1;        }#endif        return soap->socket;      }      else if (soap_errno != SOAP_EINTR && soap_errno != SOAP_EWOULDBLOCK)      { soap->errnum = soap_errno;        soap_set_error(soap, "SOAP-ENV:Server", tcp_error(soap), "TCP accept failed in soap_accept()", SOAP_TCP_ERROR);        return -1;      }    }  }  else  { soap_set_error(soap, "SOAP-ENV:Server", "", "TCP no master socket in soap_accept()", SOAP_TCP_ERROR);    return -1;  }}/******************************************************************************/static inttcp_disconnect(struct soap *soap){#ifdef WITH_OPENSSL  if (soap->ssl)  { int r = SSL_shutdown(soap->ssl);    if (!r)    { if (soap->socket >= 0)        shutdown(soap->socket, 1);      r = SSL_shutdown(soap->ssl);    }    DBGLOG(TEST, if (r != 1) SOAP_MESSAGE(fdebug, "\nShutdown failed: %d", SSL_get_error(soap->ssl, r)));    SSL_free(soap->ssl);    soap->ssl = NULL;    if (r != 1)      return SOAP_SSL_ERROR;  }#endif  if (soap->socket >= 0)  { DBGLOG(TEST,SOAP_MESSAGE(fdebug,"\nClosing socket %d", soap->socket));    closesocket(soap->socket);    soap->socket = -1;  }  return SOAP_OK;}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_closesock(struct soap *soap){ if (!soap->keep_alive)    return soap->error = soap->fclose(soap);  return SOAP_OK;}/******************************************************************************/inthash_id(const char *s){ register int h = 0;  while (*s)    h += *s++&0x1F;  return h%SOAP_IDHASH;}/******************************************************************************/SOAP_FMAC1voidSOAP_FMAC2soap_init_pht(struct soap *soap){ int i;  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\nInitializing pointer hashtable"));  for (i = 0; i < SOAP_PTRHASH; i++)    soap->pht[i] = NULL;}/******************************************************************************/SOAP_FMAC1struct soap*SOAP_FMAC2soap_new(){ struct soap *soap = (struct soap*)malloc(sizeof(struct soap));  if (soap)    soap_init(soap);  return soap;}/******************************************************************************/SOAP_FMAC1voidSOAP_FMAC2soap_free_pht(struct soap *soap){ struct soap_plist *pp, *next;  int i;  for (i = 0; i < SOAP_PTRHASH; i++)  { for (pp = soap->pht[i]; pp; pp = next)    { next = pp->next;      free(pp);    }    soap->pht[i] = NULL;  }}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_pointer_lookup(struct soap *soap, const void *p, int type, struct soap_plist **ppp){ struct soap_plist *pp;  *ppp = NULL;  if (!p)    return 0;  for (pp = soap->pht[hash_ptr(p)]; pp; pp = pp->next)    if (pp->ptr == p && pp->type == type)    { *ppp = pp;      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\nLookup location=%p type=%d id=%d", p, type, pp->id));      return pp->id;    }  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\nLookup location=%p type=%d: not found", p, type));  return 0;}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_array_pointer_lookup(struct soap *soap, const void *p, int n, int type, struct soap_plist **ppp){ struct soap_plist *pp;  *ppp = NULL;  if (!p || !*(void**)p)    return 0;  type |= 1024;  for (pp = soap->pht[hash_ptr(*(void**)p)]; pp; pp = pp->next)    if (pp->type == type && *(void**)pp->ptr == *(void**)p && *((int*)pp->ptr+1) == n)    { *ppp = pp;      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\nArray lookup location=%p type=%d id=%d", p, type, pp->id));      return pp->id;    }  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "\nArray lookup location=%p type=%d: not found", p, type));  return 0;}/******************************************************************************/SOAP_FMAC1intSOAP_FMAC2soap_pointer_enter(struct soap *soap, const void *p, int type, struct soap_plist **ppp){ int h;  struct soap_plist *pp;  if (!p)  { *ppp = NULL;    return 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品99国产精品| 成人美女视频在线看| 国产精品电影一区二区三区| 911精品国产一区二区在线| 91网站最新网址| 欧美久久久久久久久| 91视视频在线观看入口直接观看www| 国模冰冰炮一区二区| 秋霞午夜鲁丝一区二区老狼| 五月婷婷综合激情| 国产精品你懂的在线欣赏| 欧美日韩国产高清一区二区三区| 91丨porny丨首页| 99久久久久久99| 波多野洁衣一区| 国产精品一品二品| 国产精品一卡二卡在线观看| 紧缚奴在线一区二区三区| 久久se这里有精品| 久久综合综合久久综合| 精品综合免费视频观看| 久久 天天综合| 国产精品亚洲第一区在线暖暖韩国| 麻豆精品蜜桃视频网站| 激情图片小说一区| 国产一区二区影院| 久久精品国产网站| 狠狠色狠狠色综合系列| 精品一区二区在线播放| 精品一区二区三区久久久| 精品在线观看视频| 国产精品99久久久久久似苏梦涵| 国产成人精品网址| eeuss鲁片一区二区三区在线观看| 久久99精品国产麻豆不卡| 日本韩国一区二区三区| 欧美四级电影在线观看| 欧美美女喷水视频| 欧美成人性战久久| 国产婷婷色一区二区三区四区| 国产精品毛片久久久久久| 亚洲视频一区在线| 亚洲第一成年网| 奇米综合一区二区三区精品视频| 午夜av一区二区三区| 亚洲一区二区三区免费视频| 日韩av在线播放中文字幕| 久久99这里只有精品| 大美女一区二区三区| 欧美伊人久久久久久久久影院| 精品视频资源站| 精品毛片乱码1区2区3区| 国产欧美视频一区二区| 国产精品麻豆视频| 亚洲免费观看高清在线观看| 首页国产欧美久久| 国产剧情一区二区| 91国偷自产一区二区三区观看| 日韩亚洲欧美高清| 国产精品动漫网站| 美女一区二区三区| eeuss鲁一区二区三区| 欧美美女一区二区三区| 国产日产欧美一区二区视频| 亚洲色图丝袜美腿| 美女mm1313爽爽久久久蜜臀| 欧美va在线播放| 国产精品的网站| 热久久免费视频| 成人高清免费在线播放| 88在线观看91蜜桃国自产| 国产精品人妖ts系列视频| 三级欧美在线一区| 久久精品久久99精品久久| 国产麻豆视频一区二区| 91官网在线观看| 91老师片黄在线观看| 正在播放亚洲一区| 成人免费一区二区三区视频| 六月丁香婷婷色狠狠久久| 91视频观看免费| 7777女厕盗摄久久久| 中文字幕一区二区三区乱码在线| 日本怡春院一区二区| 99精品久久只有精品| 久久综合99re88久久爱| 亚洲综合在线免费观看| 国产99精品国产| 日本乱码高清不卡字幕| 久久久久国色av免费看影院| 亚洲国产人成综合网站| 不卡视频一二三| 久久午夜羞羞影院免费观看| 丝袜美腿成人在线| 在线视频一区二区免费| 国产精品视频看| 国产自产高清不卡| 欧美日韩一本到| 亚洲欧美在线视频观看| 国产成人av电影在线观看| 欧美一级日韩一级| 亚洲bt欧美bt精品| 欧美在线观看18| 亚洲免费观看高清完整版在线| 丰满亚洲少妇av| 国产日韩欧美麻豆| 青娱乐精品视频| 3d动漫精品啪啪1区2区免费| 亚洲国产一二三| 欧美亚洲尤物久久| 一区二区三区四区激情| www.av精品| 国产亚洲精品久| 国产一区不卡视频| 久久综合色鬼综合色| 美女网站视频久久| 欧美大白屁股肥臀xxxxxx| 日韩精品视频网| 日韩一区二区免费在线电影| 麻豆精品在线观看| 欧美三区免费完整视频在线观看| 国产精品久久久久久久裸模| 成人福利视频在线| 日韩美女视频一区二区| 成人亚洲精品久久久久软件| 国产日韩欧美高清| 成人国产一区二区三区精品| 成人免费在线视频| 一本大道久久精品懂色aⅴ | 日韩一区二区免费在线观看| 日韩精品欧美精品| 精品入口麻豆88视频| 国产一二三精品| 国产夫妻精品视频| 国产成人免费视频网站| 国产精品国产精品国产专区不片| 国产91丝袜在线播放九色| 国产精品入口麻豆九色| 91黄色免费版| 无码av免费一区二区三区试看 | 欧美特级限制片免费在线观看| 亚洲精品国产一区二区精华液 | 在线中文字幕不卡| 久久99这里只有精品| 中文字幕一区二区三区在线不卡| 欧美在线播放高清精品| 九九九精品视频| 一区二区三区国产| 日韩精品一区二区三区三区免费| 99精品视频一区| 久久精品久久久精品美女| 亚洲欧洲制服丝袜| 精品福利在线导航| 欧美性高清videossexo| 国产一区二区导航在线播放| 亚洲国产欧美日韩另类综合| 亚洲国产精品av| 91香蕉国产在线观看软件| 日韩电影在线看| 久久精品夜夜夜夜久久| 欧美性xxxxxx少妇| 丰满少妇在线播放bd日韩电影| 日韩在线a电影| 欧美国产禁国产网站cc| www..com久久爱| 另类综合日韩欧美亚洲| 精品国产百合女同互慰| 91在线国产观看| 美女高潮久久久| 最新热久久免费视频| 欧美xxxx在线观看| 欧美日韩亚洲国产综合| 成人免费va视频| 国产一区不卡精品| 秋霞午夜av一区二区三区| 国产精品国产成人国产三级 | 中文字幕在线不卡视频| 日韩美女在线视频| 欧美三级电影网站| 色综合天天视频在线观看| 国产原创一区二区| 麻豆一区二区三| 五月婷婷色综合| 亚洲午夜三级在线| 中文字幕在线一区| 国产日产欧美一区二区三区| 精品免费视频.| 日韩午夜激情免费电影| 亚洲欧美日本韩国| 中文字幕高清一区| 久久综合999| 精品电影一区二区三区| 欧美一区二区三区四区在线观看 | 国产欧美一区二区精品性色| 日韩精品一区在线观看| 日韩一区二区三区观看| 欧美二区乱c少妇| 777午夜精品免费视频| 欧美日韩国产综合一区二区三区 | 51午夜精品国产|