httpx use async mode make a get request,but get the null content from response

Abierto
#796 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
networking

Línea de trabajo

Empieza reproduciendo la solicitud reportada de AsyncClient en httpxGetUrl contra la URL local indicada y, después, compara su estado, sus cabeceras y su contenido con la versión de aiohttpGetUrl. Lee el comportamiento de lectura de respuestas de AsyncClient alrededor de aread() y resp.text; el trabajo estará terminado cuando se identifique una causa reproducible del contenido vacío y se documente o pruebe el comportamiento resultante.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Originally opened by @masterbasong on 2023-11-22 16:57:11 in encode/httpx

Hi,
I use httpx AsyncClient to send a get request ,but always get the resonse content null, I change to use aiohttp ,it works ok ,get the right content.Here is my code:

async def httpxGetUrl(url):
    async with httpx.AsyncClient() as client:
        headers = {
            'Connection':'close'
        }
        resp = await client.get(url,headers=headers)
        client
        content = await resp.aread()
        print(content)
        
        # content = resp.text
        # print(content)
    
async def aiohttpGetUrl(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as resp:
            token = await resp.text()
            print(token.encode('utf-8').decode('unicode_escape'))
            return token    
if __name__ == '__main__':
    import asyncio
    asyncio.run(httpxGetUrl('http://127.0.0.1:5000/Pay?Id=655cede5-5a3b-401d-00cf-9753508162e4'))
    
    # asyncio.run(aiohttpGetUrl('http://127.0.0.1:5000/Pay?Id=655cede5-5a3b-401d-00cf-9753508162e4'))
Lenguaje dominante
Python
Estrellas
1.6k
Forks
103
Merge medio
1 d 19 h
PR fusionados (30 d)
25

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de pydantic/httpx2

Todos los issues de pydantic/httpx2

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.