Identify and close specific connection in AsyncClient
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
El issue no menciona archivos, pruebas ni puntos de entrada del código. Empieza revisando los controles de conexión documentados de AsyncClient y el comportamiento actual del connection-pool; una investigación completada debería determinar si se admiten la identificación por conexión y el cierre selectivo, o si requieren un diseño acotado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Originally opened by
@BlackCloud37on 2025-08-25 06:04:51 in encode/httpx
Hello,
I'm trying to use httpx(in asyncio) for my web scraper program.
In my use case, to prevent my connection from banning, I usually want to limit the request on single connection, which means:
- Close a connection after N requests.
- If a connection is banned, for example, received HTTP code 429 or any invalid response.
By reading the document, I cannot find any methods that I can:
- Identify each request's underlying connection, so I can count requests on certain connection.
- To close this single connection if satisfied any condition above.
So I currently implement this in "one connection per async client" way. I limited the max_connections to 1 for my client, and each time I want to drop a connection, I throw the client away and create a new one.
As the document says, it's a bad idea to do so. So is there any way I can reuse the clients for my purpose?
Any help would be much appreciated!
- Lenguaje dominante
- Python
- Estrellas
- 1.6k
- Forks
- 103
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 25
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de pydantic/httpx2
-
Please revert aiter_bytes signature to AsyncIteratorQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
pydantic/httpx2#1158 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Export AutoBackendQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
pydantic/httpx2#1131 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Mention header name error message for invalid header encodingsQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
pydantic/httpx2#864 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Support DigestAuth with "x-www-authenticate" in first response headerPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
Todos los issues de pydantic/httpx2
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
OCA/account-invoicing#2529 ·
Los mantenedores suelen responder en 1 día
-
area/ci
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
ImageGen generate-batch aborts valid JSONL jobs containing a Unicode line separator in poster textAbiertobug imagen skills
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Email validation accepts a trailing newlinePosiblemente ocupada @marcello-pichini la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día