2017-03-06 51 views
1

基本上我想這樣做(Python),但在藥劑:如何使用Elixir(或Erlang)向受Kerberos保護的站點發出HTTP GET請求?

import requests 
from requests_kerberos import HTTPKerberosAuth, OPTIONAL 
kerberos_auth = HTTPKerberosAuth(mutual_authentication=OPTIONAL) 
r = requests.get("http://example.org", auth=kerberos_auth) 

我知道I can just do

HTTPotion.get "http://example.org" 

但我不能找到一個例子(與HTTPotion或任何其他藥劑庫)是支持Elixir(或Erlang)的Kerberos協商

正在制定一個命令行調用curl唯一的路徑嗎?

+0

你爲什麼期望它已經被實現? 'HTTPotion'具有['ibrowse'](https://github.com/cmullaparthi/ibrowse)作爲http後端,後者不支持'Basic',AFAIK之外的任何認證。 – mudasobwa

+0

我不希望HTTPottion擁有它,但我確實希望某種解決方案可用(可能與Elixir或Erlang的其他一些http客戶端可以使用?) – Luxspes

+0

命令行調用curl是唯一的在elixir/erlang中使用全功能的http客戶端的方法? https://gist.github.com/wolves/3b13903ef8c8322b191c3510334cff90 – Luxspes

回答

1

這個庫聲稱支持SPNEGO,這是基於Kerberos的http所需要的。我不知道它實際上有多好。

https://github.com/mikma/egssapi

這是很老,但SPNEGO和Kerberos API在過去7年都沒有太大的改變。

作爲一般規則,除非驅動Web連接的基礎庫是libcurl,否則SPNEGO在大多數語言中得不到很好的支持。 Java和C在強大的工作Kerberos實現方面非常相似;語言與這些庫交互越容易,Kerberos支持的可能性就越大。