get_ifi_info函数

本文介绍了一种使用C语言获取网络接口详细信息的方法,包括接口名称、硬件地址、IP地址等,并通过 ioctl 函数与内核交互来获取这些信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cnblogs.com/s7vens/archive/2012/02/14/2351160.html
/* Our own header for the programs that need interface configuration info. include this file, instead of "unp.h" */
#ifndef __unp_ifi_h
#define __unp_ifi_h
#include "unp.h"
#include <net/if.h>
#define IFI_NAME    16  /* same as IFNAMSIZ in <net/if.h> */
#define IFI_HADDR  8    /* allow for 64-bit EUI-64 in future */
sturct ifi_info
{/* 我们函数返回一个这些结构的链表,其中每个结构的ifi_next成员指向下一个结构 */
  char ifi_name[IFI_NAME];   /* interface name, null terminated */
  u_char   ifi_haddr[IFI_HADDR];  /* hardware address */
  u_short  ifi_hlen;  /* #bytes in hardware address: 0, 6, 8 */
  short ifi_flags;  /* IFI_xxx constants from <net/if.h> */
  short ifi_myflags; /* our own IFI_xxx flags */
  struct sockaddr * ifi_addr; /* primary address */
  struct sockaddr * ifi_brdaddr; /* broadcast address */
  struct sockaddr * ifi_dstaddr; /* destination address */
  struct ifi_info * ifi_next; /* next of these structures */
};
#define IFI_ALIAS  1  /* ifi_addr is an alias */
/* function prototypes */
struct ifi_info * get_ifi_info(int, int);
struct ifi_info * Get_ifi_info(int, int);
void free_ifi_info(struct ifi_info *);
#endif /* __unp_ifi_h */


#include "unpifi.h"
struct ifi_info * get_ifi_info(int family, int doaliases)
{
  struct ifi_info * ifi, * ifihead, * * ifipnext;
  int sockfd, len, lastlen, flags, myflags;
  char * ptr, * buf, lastname[IFNAMSIZ], * cptr;
  struct ifconf ifc;
  struct ifreq * ifr, ifrcopy;
  struct sockaddr_in * sinptr;
  sockfd = Socket(AF_INET, SOCK_DGRAM, 0); /* 创建一个用于ioctl的UDP套接口 */
  lastlen = 0; /* 把lastlen初始化成0 */
  len = 100 * sizeof(struct ifreq); /* initial buffer size guess */
  for( ; ; )
  {
    buf = Malloc(len); /* 分配一个缓冲区,开始时为100个ifreq结构的空间 */
    ifc.ifc_len = len;
    ifc.ifc_buf = buf;
    if(ioctl(sockfd, SIOCGIFCONF, &ifc) < 0)
    {/* 如果ioctl返回一个EINVAL错误,而且还没有得到过一个成功的返回(也就是lastlen还是0),那么我们还没有分配一个足够大的缓冲区,继续进行循环 */
      if(errno != EINVAL || lastlen != 0)
        err_sys("ioctl error");
    }
    else
    {/* 如果ioctl返回成功,而且返回的长度等于lastlen,那么这个长度没有改变(及缓冲区足够大),于是break出这个循环,因为已经得到了所有信息 */
      if(ifc.ifc_len == lastlen)
        break;  /* success, len has not changed */
      lastlen = ifc.ifc_len;
    }
    /* 每循环一次,把缓冲区的大小增加能多存放10个ifreq结构的空间 */
    len += 10 * sizeof(struct ifreq); /* increment */
    free(buf);
  }
  ifihead = NULL; /* 因为将要返回一个指向ifi_info结构的链表头的指针,所以用两个变量ifihead和ifipnext在建立链表时保存指针 */
  ifipnext = &ifihead;
  lastname[0] = 0;
  for(ptr = buf; ptr < buf + ifc.ifc_len; ) /* 在遍历所有ifreq结构时,ifr指向每个结构,然后我们增加ptr指向下一个结构 */
  {
    ifr = (struct ifreq *)ptr;
#ifdef  HAVE_SOCKADDR_SA_LEN
    len = max(sizeof(struct sockaddr), ifr->ifr_addr.sa_len);
#else
    switch(ifr->ifr_addr.sa_family)
    {
#ifdef  IPV6
      case AF_INET6:
        len = sizeof(struct sockaddr_in6);
      break;
#endif
      case AF_INET;
      default:
        len = sizeof(struct sockaddr);
      break;
    }
#endif  /* HAVE_SOCKADDR_SA_LEN */
    ptr += sizeof(ifr->ifr_name) + len; /* for next one in buffer */
    if(ifr->ifr_addr.sa_family != family) /* 忽略所有不是调用者期望的地址族的地址 */
      continue; /* ignore if not desired address family */
    myflags = 0; /* 检测在该接口上可能存在的任何别名地址,也就是赋给这个接口的其它地址 */
    if((cptr = strchr(ifr->ifr_name, ':' )) != NULL)
      * cptr = 0; /* replace colon will null */
    if(strncmp(lastname, ifr->ifr_name, IFNAMSIZ) == 0)
    {
      if(doaliases == 0)
        continue; /* already processed this interface */
      myflags = IFI_ALIAS;
    }
    memcpy(lastname, ifr->ifr_name, IFNAMSIZ);
    ifrcopy = * ifr; /* 发出一个SIOCGIFFLAGS ioctl请求取接口标志。ioctl的第三个参数是一个指向ifreq结构的指针,结构中包含要获取标志的接口名。在发出ioctl之前对ifreq结构做一个拷贝,因为如果不这样做的话,这个请求会覆盖接口的IP地址,因为它们都同一联合的成员。如果接口不在工作,就忽略掉 */
    ioctl(sockfd, SIOCGIFFLAGS, &ifrcopy);
    flags = ifrcopy.ifr_flags;
    if((flags & IFF_UP) ==0)
      continue; /* ignore if interface not up */
    ifi = Calloc(1, sizeof(struct ifi_info)); /* 给ifi_info结构分配内存,并把它加到正在建立的链表的末尾 */
    * ifipnext = ifi; /* prev points to this new one */
    ifipnext = &ifi->ifi_next; /* pointer to next one goes here */
    ifi->ifi_flags = flags; /* IFF_xxx values */
    ifi->ifi_myflags = myflags; /* IFF_xxx values */
    memcpy(ifi->ifi_name, ifr->ifr_name, IFI_NAME);
    ifi->ifi_name[IFI_NAME-1] = '\0';
    switch(ifr->ifr_addr.sa_family)
    {
      case AF_INET:
        sinptr = (struct sockaddr_in *)&fir->ifr_addr;
        if(ifi->ifi_addr == NULL)
        {
          ifi->ifi_addr = Calloc(1, sizeof(struct sockaddr_in));
          memcpy(ifi->ifi_addr, sinptr, sizeof(struct sockaddr_in));
#ifdef SIOCGIFBRDADDR
            if(flags & IFF_BROADCAST)
            {
              ioctl(sockfd, SIOCGIFBRDADDR, &ifrcopy);
              sinptr = (struct sockaddr_in *)&ifrcopy.ifr_broadaddr;
              ifi->ifi_brdaddr = Calloc(1, sizeof(struct sockaddr_in));
              memcpy(ifi->ifi_brdaddr, sinptr, sizeof(struct sockaddr_in));
            }
#endif
#ifdef  SIOCGIFDSTADDR
            if(flags & IFF_POINTOPOINT)
            {
              ioctl(sockfd, SIOCGIFDSTADDR, &ifrcopy);
              sinptr = (struct sockaddr_in *)&ifrcopy.ifr_dstaddr;
              ifi->ifi_dstaddr = Calloc(1, sizeof(struct sockaddr_in));
              memcpy(ifi->ifi_dstaddr, sinptr, sizeof(struct sockaddr_in));
            }
#endif
        }
       break;
      default:
       break;
    }
  }
  free(buf);
  return(ifihead); /* pointer to first structure in linked list */
}

/* free_ifi_info函数,它以一个由get_ifi_info返回的指针做按数,释放所有动态分配的内存 */
void free_ifi_info(struct ifi_info * ifihead)
{
  struct ifi_info * ifi, * ifihead;
  for(ifi= ifihead; ifi != NULL; ifi = ifinext)
  {
    if(ifi->ifi_addr != NULL)
      free(ifi->ifi_addr);
    if(ifi->ifi_brdaddr != NULL)
      free(ifi->ifi_brdaddr);
    if(ifi->ifi_dstaddr != NULL)
      free(ifi->ifi_dstaddr);
    ifinext = ifi->ifi_next; /* cant fetch ifi_next after free() */
    free(ifi); /* the ifi_info{} itself */
  }
}

yolov12源代码自带的app.py为什么运行不了:ERROR: Exception in ASGI application Traceback (most recent call last): File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\uvicorn\protocols\http\h11_impl.py", line 403, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\applications.py", line 1054, in __call__ await super().__call__(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\applications.py", line 112, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 187, in __call__ raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\route_utils.py", line 761, in __call__ await self.app(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 714, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 734, in app await route.handle(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 288, in handle await self.app(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 214, in run_endpoint_function return await run_in_threadpool(dependant.call, **values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\concurrency.py", line 37, in run_in_threadpool return await anyio.to_thread.run_sync(func) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync return await get_async_backend().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\_backends\_asyncio.py", line 2470, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\_backends\_asyncio.py", line 967, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\routes.py", line 431, in main gradio_api_info = api_info(False) ^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\routes.py", line 460, in api_info app.api_info = app.get_blocks().get_api_info() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\blocks.py", line 2852, in get_api_info python_type = client_utils.json_schema_to_python_type(info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 893, in json_schema_to_python_type type_ = _json_schema_to_python_type(schema, schema.get("$defs")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 947, in _json_schema_to_python_type des = [ ^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 948, in <listcomp> f"{n}: {_json_schema_to_python_type(v, defs)}{get_desc(v)}" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 955, in _json_schema_to_python_type f"str, {_json_schema_to_python_type(schema['additionalProperties'], defs)}" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 901, in _json_schema_to_python_type type_ = get_type(schema) ^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 863, in get_type if "const" in schema: ^^^^^^^^^^^^^^^^^ TypeError: argument of type 'bool' is not iterable ERROR: Exception in ASGI application Traceback (most recent call last): File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\uvicorn\protocols\http\h11_impl.py", line 403, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\applications.py", line 1054, in __call__ await super().__call__(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\applications.py", line 112, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 187, in __call__ raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\route_utils.py", line 761, in __call__ await self.app(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 714, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 734, in app await route.handle(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 288, in handle await self.app(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 214, in run_endpoint_function return await run_in_threadpool(dependant.call, **values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\concurrency.py", line 37, in run_in_threadpool return await anyio.to_thread.run_sync(func) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync return await get_async_backend().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\_backends\_asyncio.py", line 2470, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\_backends\_asyncio.py", line 967, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\routes.py", line 431, in main gradio_api_info = api_info(False) ^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\routes.py", line 460, in api_info app.api_info = app.get_blocks().get_api_info() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\blocks.py", line 2852, in get_api_info python_type = client_utils.json_schema_to_python_type(info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 893, in json_schema_to_python_type type_ = _json_schema_to_python_type(schema, schema.get("$defs")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 947, in _json_schema_to_python_type des = [ ^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 948, in <listcomp> f"{n}: {_json_schema_to_python_type(v, defs)}{get_desc(v)}" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 955, in _json_schema_to_python_type f"str, {_json_schema_to_python_type(schema['additionalProperties'], defs)}" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 901, in _json_schema_to_python_type type_ = get_type(schema) ^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 863, in get_type if "const" in schema: ^^^^^^^^^^^^^^^^^ TypeError: argument of type 'bool' is not iterable ERROR: Exception in ASGI application Traceback (most recent call last): File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\uvicorn\protocols\http\h11_impl.py", line 403, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\applications.py", line 1054, in __call__ await super().__call__(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\applications.py", line 112, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 187, in __call__ raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\route_utils.py", line 761, in __call__ await self.app(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 714, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 734, in app await route.handle(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 288, in handle await self.app(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 214, in run_endpoint_function return await run_in_threadpool(dependant.call, **values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\concurrency.py", line 37, in run_in_threadpool return await anyio.to_thread.run_sync(func) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync return await get_async_backend().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\_backends\_asyncio.py", line 2470, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\_backends\_asyncio.py", line 967, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\routes.py", line 431, in main gradio_api_info = api_info(False) ^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\routes.py", line 460, in api_info app.api_info = app.get_blocks().get_api_info() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\blocks.py", line 2852, in get_api_info python_type = client_utils.json_schema_to_python_type(info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 893, in json_schema_to_python_type type_ = _json_schema_to_python_type(schema, schema.get("$defs")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 947, in _json_schema_to_python_type des = [ ^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 948, in <listcomp> f"{n}: {_json_schema_to_python_type(v, defs)}{get_desc(v)}" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 955, in _json_schema_to_python_type f"str, {_json_schema_to_python_type(schema['additionalProperties'], defs)}" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 901, in _json_schema_to_python_type type_ = get_type(schema) ^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 863, in get_type if "const" in schema: ^^^^^^^^^^^^^^^^^ TypeError: argument of type 'bool' is not iterable ERROR: Exception in ASGI application Traceback (most recent call last): File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\uvicorn\protocols\http\h11_impl.py", line 403, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\applications.py", line 1054, in __call__ await super().__call__(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\applications.py", line 112, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 187, in __call__ raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\route_utils.py", line 761, in __call__ await self.app(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 714, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 734, in app await route.handle(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 288, in handle await self.app(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 214, in run_endpoint_function return await run_in_threadpool(dependant.call, **values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\concurrency.py", line 37, in run_in_threadpool return await anyio.to_thread.run_sync(func) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync return await get_async_backend().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\_backends\_asyncio.py", line 2470, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\_backends\_asyncio.py", line 967, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\routes.py", line 431, in main gradio_api_info = api_info(False) ^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\routes.py", line 460, in api_info app.api_info = app.get_blocks().get_api_info() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\blocks.py", line 2852, in get_api_info python_type = client_utils.json_schema_to_python_type(info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 893, in json_schema_to_python_type type_ = _json_schema_to_python_type(schema, schema.get("$defs")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 947, in _json_schema_to_python_type des = [ ^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 948, in <listcomp> f"{n}: {_json_schema_to_python_type(v, defs)}{get_desc(v)}" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 955, in _json_schema_to_python_type f"str, {_json_schema_to_python_type(schema['additionalProperties'], defs)}" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 901, in _json_schema_to_python_type type_ = get_type(schema) ^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 863, in get_type if "const" in schema: ^^^^^^^^^^^^^^^^^ TypeError: argument of type 'bool' is not iterable ERROR: Exception in ASGI application Traceback (most recent call last): File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\uvicorn\protocols\http\h11_impl.py", line 403, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\applications.py", line 1054, in __call__ await super().__call__(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\applications.py", line 112, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 187, in __call__ raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\route_utils.py", line 761, in __call__ await self.app(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 714, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 734, in app await route.handle(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 288, in handle await self.app(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 214, in run_endpoint_function return await run_in_threadpool(dependant.call, **values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\starlette\concurrency.py", line 37, in run_in_threadpool return await anyio.to_thread.run_sync(func) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync return await get_async_backend().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\_backends\_asyncio.py", line 2470, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\anyio\_backends\_asyncio.py", line 967, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\routes.py", line 431, in main gradio_api_info = api_info(False) ^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\routes.py", line 460, in api_info app.api_info = app.get_blocks().get_api_info() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\blocks.py", line 2852, in get_api_info python_type = client_utils.json_schema_to_python_type(info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 893, in json_schema_to_python_type type_ = _json_schema_to_python_type(schema, schema.get("$defs")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 947, in _json_schema_to_python_type des = [ ^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 948, in <listcomp> f"{n}: {_json_schema_to_python_type(v, defs)}{get_desc(v)}" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 955, in _json_schema_to_python_type f"str, {_json_schema_to_python_type(schema['additionalProperties'], defs)}" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 901, in _json_schema_to_python_type type_ = get_type(schema) ^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio_client\utils.py", line 863, in get_type if "const" in schema: ^^^^^^^^^^^^^^^^^ TypeError: argument of type 'bool' is not iterable Traceback (most recent call last): File "G:\yfwh\yolov12-main\app.py", line 165, in <module> gradio_app.launch() File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\blocks.py", line 2465, in launch raise ValueError( ValueError: When localhost is not accessible, a shareable link must be created. Please set share=True or check your proxy settings to allow access to localhost. Exception in thread Thread-5 (_do_normal_analytics_request): Traceback (most recent call last): File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_transports\default.py", line 101, in map_httpcore_exceptions yield File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_transports\default.py", line 250, in handle_request resp = self._pool.handle_request(req) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpcore\_sync\connection_pool.py", line 256, in handle_request raise exc from None File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpcore\_sync\connection_pool.py", line 236, in handle_request response = connection.handle_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpcore\_sync\connection.py", line 101, in handle_request raise exc File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpcore\_sync\connection.py", line 78, in handle_request stream = self._connect(request) ^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpcore\_sync\connection.py", line 156, in _connect stream = stream.start_tls(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpcore\_backends\sync.py", line 154, in start_tls with map_exceptions(exc_map): File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpcore\_exceptions.py", line 14, in map_exceptions raise to_exc(exc) from exc httpcore.ConnectTimeout: _ssl.c:989: The handshake operation timed out The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\threading.py", line 1045, in _bootstrap_inner self.run() File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\analytics.py", line 70, in _do_normal_analytics_request data["ip_address"] = get_local_ip_address() ^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\site-packages\gradio\analytics.py", line 131, in get_local_ip_address ip_address = httpx.get( ^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_api.py", line 195, in get return request( ^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_api.py", line 109, in request return client.request( ^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_client.py", line 825, in request return self.send(request, auth=auth, follow_redirects=follow_redirects) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_client.py", line 914, in send response = self._send_handling_auth( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_client.py", line 942, in _send_handling_auth response = self._send_handling_redirects( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_client.py", line 979, in _send_handling_redirects response = self._send_single_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_client.py", line 1014, in _send_single_request response = transport.handle_request(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_transports\default.py", line 249, in handle_request with map_httpcore_exceptions(): File "C:\Users\yanfwh\.conda\envs\yolov12\Lib\contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "C:\Users\yanfwh\AppData\Roaming\Python\Python311\site-packages\httpx\_transports\default.py", line 118, in map_httpcore_exceptions raise mapped_exc(message) from exc httpx.ConnectTimeout: _ssl.c:989: The handshake operation timed out
最新发布
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值