我一直在尝试编写一个e621抓取程序,虽然我想用异步方式编写,但我似乎无法让身份验证工作
当它返回“resp”时,不会返回任何内容,因为auth是错误的。我知道细节是正确的,但我不确定如何在异步编程中做到这一点。感谢您的帮助!谢谢大家!
async def main():
async with aiohttp.ClientSession() as session:
url = 'https://e621.net/posts.json?limit=2&'
params = {'user-agent':'frbottest/0.0.1 (by Vaston on e621)'}
async with session.get(url, params=params, auth=aiohttp.BasicAuth(apiUser, apiKey)) as resp:
resp = await resp.json(content_type=None)
content = await resp.json()
print(content['url'])
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
事实证明,e621要求您在请求中放入头以正确授权。不需要使用
auth
或params
组件,您只是在session
的定义中缺少一个头字典。请参见此处(只需将代理和键占位符替换为apiUser
和apiKey
值即可):相关问题 更多 >
编程相关推荐