如何扩展urllib3连接创建以添加其他身份验证步骤?

时间:2017-01-19 14:49:37

标签: cloudant urllib3

我想为https端点创建连接池,在创建池中的每个https连接后执行添加步骤。步骤是像{{}}那样制作https call

class MyTextBox : TextBox
{
    protected override AutomationPeer OnCreateAutomationPeer()
    {
        return new FrameworkElementAutomationPeer(this);
    }
}

如果成功,则返回cookie,例如:

POST /_session HTTP/1.1
Content-Length: 32
Content-Type: application/x-www-form-urlencoded
Accept: */*

name=YourUserName&password=YourPassword

这个额外的步骤会去哪里?例如,也许我应该扩展_new_conn方法?

200 OK
Cache-Control: must-revalidate
Content-Length: 42
Content-Type: text/plain; charset=UTF-8
Date: Mon, 04 Mar 2013 14:06:11 GMT
server: CouchDB/1.0.2 (Erlang OTP/R14B)
Set-Cookie: AuthSession="a2ltc3RlYmVsOjUxMzRBQTUzOtiY2_IDUIdsTJEVNEjObAbyhrgz"; Expires=Tue, 05 Mar 2013 14:06:11 GMT; Max-Age=86400; Path=/; HttpOnly; Version=1
x-couch-request-id: a638431d

另一个考虑因素是cookie将过期并且应该更新,最好是在到期之前。我只是在这里注意到,这应该是一个单独问题的主题。

1 个答案:

答案 0 :(得分:1)

(如评论中所述)

如果您正在尝试创建自己的CustomHTTPSConnectionPool,那么您就是在正确的轨道上。

但是阅读你链接的文档,我认为你不需要这个吗?似乎状态是在cookie而不是连接中维护的,因此您只需要进行握手,获取cookie,并确保每次请求都传递cookie,无论连接如何,您都可以继续使用。