Aiohttp: Request.json () ΠΈ request.text () Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ None

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 7 Π°ΠΏΡ€. 2018  Β·  5ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: aio-libs/aiohttp

ΠšΠΎΡ€ΠΎΡ‡Π΅

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ тСкст ΠΈΠ»ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ json ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚Π²Π΅Ρ‚Π°.

ОТидаСмоС повСдСниС

Π― ΠΌΠΎΠ³ Π±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ json Ρ‡Π΅Ρ€Π΅Π· response.json ()

ЀактичСскоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅

response.json () Π΄Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ None
response.text () Ρ‚ΠΎΠΆΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π°Π΅Ρ‚

ДСйствия ΠΏΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ

ЗапуститС это:

wordpress_url = "https://kominherstel.nl/wp-json/wp/V2/pages/"



async def fetch(session, url):
    async with session.get(url) as response:
        return response

async def main(wordpress_url):
    async with ClientSession() as session:
        response = await fetch(session, wordpress_url)
        print(await response.json())

loop = asyncio.get_event_loop()

loop.run_until_complete(main(wordpress_url))

Π’ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ загрузится https://kominherstel.nl/wp-json/wp/V2/pages/ .

Π’Π°ΡˆΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅

aiohttp == 2.3.10
ОБ: Ubuntu 16.04 LTS

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° послС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· диспСтчСра контСкста async with session.get(...) .

ВсС 5 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° послС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· диспСтчСра контСкста async with session.get(...) .

Бпасибо Π·Π° совСт!
ВмСсто этого я ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

wordpress_url = "https://kominherstel.nl/wp-json/wp/V2/pages/"


async def main(url):
    async with ClientSession() as session:
        async with session.get(url) as response:
            print(await response.json())
            print(await response.text())

            print(response.text)
            print(response.json)

loop = asyncio.get_event_loop()

loop.run_until_complete(main(wordpress_url))

Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

<bound method ClientResponse.text of <ClientResponse(https://kominherstel.nl/wp-json/wp/V2/pages/) [200 OK]>
<CIMultiDictProxy('Date': 'Sat, 07 Apr 2018 20:41:13 GMT', 'Server': 'Apache', 'Vary': 'Cookie', 'X-Robots-Tag': 'noindex', 'Link': '<https://kominherstel.nl/wp-json/>; rel="https://api.w.org/"', 'X-Content-Type-Options': 'nosniff', 'Access-Control-Expose-Headers': 'X-WP-Total, X-WP-TotalPages', 'Access-Control-Allow-Headers': 'Authorization, Content-Type', 'Expires': 'Thu, 19 Nov 1981 08:52:00 GMT', 'Cache-Control': 'no-store, no-cache, must-revalidate', 'Pragma': 'no-cache', 'X-WP-Total': '8', 'X-WP-TotalPages': '1', 'Allow': 'GET', 'Set-Cookie': 'PHPSESSID=9u9an4n6tqt7hkp431ukf5qkk5; path=/', 'Upgrade': 'h2c', 'Connection': 'Upgrade', 'Transfer-Encoding': 'chunked', 'Content-Type': 'application/json; charset=UTF-8')>
>
<bound method ClientResponse.json of <ClientResponse(https://kominherstel.nl/wp-json/wp/V2/pages/) [200 OK]>
<CIMultiDictProxy('Date': 'Sat, 07 Apr 2018 20:41:13 GMT', 'Server': 'Apache', 'Vary': 'Cookie', 'X-Robots-Tag': 'noindex', 'Link': '<https://kominherstel.nl/wp-json/>; rel="https://api.w.org/"', 'X-Content-Type-Options': 'nosniff', 'Access-Control-Expose-Headers': 'X-WP-Total, X-WP-TotalPages', 'Access-Control-Allow-Headers': 'Authorization, Content-Type', 'Expires': 'Thu, 19 Nov 1981 08:52:00 GMT', 'Cache-Control': 'no-store, no-cache, must-revalidate', 'Pragma': 'no-cache', 'X-WP-Total': '8', 'X-WP-TotalPages': '1', 'Allow': 'GET', 'Set-Cookie': 'PHPSESSID=9u9an4n6tqt7hkp431ukf5qkk5; path=/', 'Upgrade': 'h2c', 'Connection': 'Upgrade', 'Transfer-Encoding': 'chunked', 'Content-Type': 'application/json; charset=UTF-8')>
>

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ 2 print (await response.json ()) ΠΈ print (await response.text ()) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Из Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ (https://docs.aiohttp.org/en/stable/client_quickstart.html#json-response-content) каТСтся, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ json () Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ сбоС дСкодирования. Однако Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΈ Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ URL явно Π΅ΡΡ‚ΡŒ json.

К соТалСнию, ваш ΠΊΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°.
Π― ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ упустил ΠΈΠ· Π²ΠΈΠ΄Ρƒ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅.

НаконСц, я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ΄Π° Π² Windows вмСсто Ubuntu. На ΠΌΠΎΠ΅ΠΉ машинС с Windows всС Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ, ΠΊΠ°ΠΊ я ΠΈ ΠΎΠΆΠΈΠ΄Π°Π». ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: я всС Π΅Ρ‰Π΅ использовал python 3.5.2 ΠΈ aiohttp вСрсии 2.3.10 Π½Π° ΠΌΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ с Ubuntu. МоС ΠΏΠ»ΠΎΡ…ΠΎΠ΅, я Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΡ‚ΠΎΠΊ Π±Ρ‹Π» автоматичСски Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ послС Π΅Π³ΠΎ закрытия Π² послСднСС врСмя Π½Π΅ Π±Ρ‹Π»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ [Π½ΠΎΠ²Ρ‹ΠΉ выпуск], Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ….
Если Π²Ρ‹ чувствуСтС, Ρ‡Ρ‚ΠΎ Π² Ρ…ΠΎΠ΄Π΅ этого обсуТдСния Π±Ρ‹Π»ΠΈ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ эти Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² этот [Π½ΠΎΠ²Ρ‹ΠΉ выпуск].

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ