如何在lambda python中使用api

如何在lambda python中使用api,python,amazon-web-services,post,aws-lambda,Python,Amazon Web Services,Post,Aws Lambda,我尝试使用python中的post请求登录到一个网站,通过使用下面的代码传递用户名和密码,成功了 import requests with requests.Session() as c: url='http://testing-ground.scraping.pro/login?mode=login' usr='admin' pwd='12345' c.get(url) print(c.cookies) login_data=dict(usr=u

我尝试使用python中的post请求登录到一个网站,通过使用下面的代码传递用户名和密码,成功了

import requests
with requests.Session() as c:
    url='http://testing-ground.scraping.pro/login?mode=login'
    usr='admin'
    pwd='12345'
    c.get(url)
    print(c.cookies)
    login_data=dict(usr=usr,pwd=pwd)
    res=c.post(url,data=login_data)
    print(res)
    page=c.get('http://testing-ground.scraping.pro/login?mode=welcome')
    print(page.content)

现在,我想在python的lambda aws中尝试同样的方法(使用post请求登录到同一个网站)。我是lambda aws的初学者,不知道如何在lambda中运行。

您必须修改代码才能在lambda环境中运行

为此,您需要一个lambda处理程序函数,如下所述:

此外,lambda中不再提供
请求
。因此,将请求添加到lambda函数的最简单方法是通过lambda层,如使用AWS lambda层的章节
所述:

lambda的原始代码版本为(假设设置了
请求
层):


我应该在修改代码时使用json.loads()吗?我刚刚读了一些文章,他们使用了json.loads和urllib3。这就是为什么我有点困惑的原因。@lakshmi我添加了一个示例代码。如果您不想使用
请求
层,那么可以使用python的内置工具实现http功能。
import requests

def handler(event, context):

    with requests.Session() as c:
        url='http://testing-ground.scraping.pro/login?mode=login'
        usr='admin'
        pwd='12345'
        c.get(url)
        print(c.cookies)
        login_data=dict(usr=usr,pwd=pwd)
        res=c.post(url,data=login_data)
        print(res)
        page=c.get('http://testing-ground.scraping.pro/login?mode=welcome')
        print(page.content)