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

Aperta
#796 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
python
Ambito
networking

Direzione di ricerca

Inizia riproducendo la richiesta AsyncClient segnalata in httpxGetUrl verso l’URL locale indicato, quindi confronta il suo stato, gli header e il contenuto con la versione aiohttpGetUrl. Leggi il comportamento di lettura della risposta di AsyncClient intorno a aread() e resp.text; il lavoro è completato quando viene identificata una causa riproducibile del contenuto vuoto e il comportamento risultante viene documentato o testato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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'))
Lingua principale
Python
Stelle
1.6k
Fork
103
Merge medio
1g 19h
PR unite (30g)
25

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di pydantic/httpx2

Tutte le issue di pydantic/httpx2

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.