Search the Community
Showing results for tags 'ipam'.
-
i thought i leave them here. used curl udf and json udf. #Include "Curl.au3" #Include "Json.au3" #include <Array.au3> ; Your own proxy server Global $ProxySever = "http://127.0.0.1:8888" Global $IPAM_LOGIN_TOKEN = phpIPAM_getToken("https://IPAMSERVER/api/test/user/","USER","PASS") ConsoleWrite ("LOGIN TOKEN = " & $IPAM_LOGIN_TOKEN & @CRLF) phpIPAM_searchDevice($IPAM_LOGIN_TOKEN,"13.13.1") Func phpIPAM_getToken($url,$username,$password) Local $Curl = Curl_Easy_Init() If Not $Curl Then Return Local $Html = $Curl ; any number as identify Local $Header = $Curl + 1 ; any number as identify Curl_Easy_Setopt($Curl, $CURLOPT_URL, $url) Curl_Easy_Setopt($Curl, $CURLOPT_USERAGENT, "AutoIt/Curl") Curl_Easy_Setopt($Curl, $CURLOPT_FOLLOWLOCATION, 1) Curl_Easy_Setopt($Curl, $CURLOPT_ACCEPT_ENCODING, "gzip") ; or set "" use all built-in supported encodings Curl_Easy_Setopt($Curl, $CURLOPT_WRITEFUNCTION, Curl_DataWriteCallback()) Curl_Easy_Setopt($Curl, $CURLOPT_WRITEDATA, $Html) Curl_Easy_Setopt($Curl, $CURLOPT_HEADERFUNCTION, Curl_DataWriteCallback()) Curl_Easy_Setopt($Curl, $CURLOPT_HEADERDATA, $Header) Curl_Easy_Setopt($Curl, $CURLOPT_COOKIE, "tool=curl; script=autoit; fun=yes;") Curl_Easy_Setopt($Curl, $CURLOPT_TIMEOUT, 30) Curl_Easy_Setopt($Curl, $CURLOPT_SSL_VERIFYPEER, 0) Curl_Easy_Setopt($Curl, $CURLOPT_POST,1) Curl_Easy_Setopt($Curl, $CURLOPT_USERNAME, $username) Curl_Easy_Setopt($Curl, $CURLOPT_PASSWORD, $password) Curl_Easy_Setopt($Curl, $CURLOPT_PROXY, $ProxySever) Local $Code = Curl_Easy_Perform($Curl) If $Code = $CURLE_OK Then ConsoleWrite("Content Type: " & Curl_Easy_GetInfo($Curl, $CURLINFO_CONTENT_TYPE) & @LF) ConsoleWrite("Download Size: " & Curl_Easy_GetInfo($Curl, $CURLINFO_SIZE_DOWNLOAD) & @LF) $Data2 = Json_Decode(BinaryToString(Curl_Data_Get($Html))) $json2 = Json_Encode($Data2, $Json_PRETTY_PRINT, " ", "\n", "\n", ",") MsgBox(0, 'Html',$json2) Json_Dump($Json2) ConsoleWrite(Json_Get($Data2, '["data"]["token"]')& @CRLF) Return Json_Get($Data2, '["data"]["token"]') Else ConsoleWrite(Curl_Easy_StrError($Code) & @LF) EndIf Curl_Easy_Cleanup($Curl) Curl_Data_Cleanup($Header) Curl_Data_Cleanup($Html) ConsoleWrite(@LF) EndFunc Func phpIPAM_searchDevice($IPAM_LOGIN_TOKEN,$device) Local $Curl = Curl_Easy_Init() If Not $Curl Then Return Local $Html = $Curl ; any number as identify Local $Header = $Curl + 1 ; any number as identify Curl_Easy_Setopt($Curl, $CURLOPT_URL, "https://IPAMSERVER/api/test/devices/search/"&$device&"/") Curl_Easy_Setopt($Curl, $CURLOPT_USERAGENT, "AutoIt/Curl") Curl_Easy_Setopt($Curl, $CURLOPT_FOLLOWLOCATION, 1) Curl_Easy_Setopt($Curl, $CURLOPT_ACCEPT_ENCODING, "gzip") ; or set "" use all built-in supported encodings Curl_Easy_Setopt($Curl, $CURLOPT_WRITEFUNCTION, Curl_DataWriteCallback()) Curl_Easy_Setopt($Curl, $CURLOPT_WRITEDATA, $Html) Curl_Easy_Setopt($Curl, $CURLOPT_HEADERFUNCTION, Curl_DataWriteCallback()) Curl_Easy_Setopt($Curl, $CURLOPT_HEADERDATA, $Header) Curl_Easy_Setopt($Curl, $CURLOPT_COOKIE, "tool=curl; script=autoit; fun=yes;") Curl_Easy_Setopt($Curl, $CURLOPT_TIMEOUT, 30) Curl_Easy_Setopt($Curl, $CURLOPT_SSL_VERIFYPEER, 0) Curl_Easy_Setopt($Curl, $CURLOPT_PROXY, $ProxySever) Local $Slist = Curl_Slist_Append(0, "User-Agent: AutoIt/Curl") $Slist = Curl_Slist_Append($Slist, "token: " & $IPAM_LOGIN_TOKEN) Curl_Easy_Setopt($Curl, $CURLOPT_HTTPHEADER, $Slist) Local $Code = Curl_Easy_Perform($Curl) If $Code = $CURLE_OK Then ConsoleWrite("Content Type: " & Curl_Easy_GetInfo($Curl, $CURLINFO_CONTENT_TYPE) & @LF) ConsoleWrite("Download Size: " & Curl_Easy_GetInfo($Curl, $CURLINFO_SIZE_DOWNLOAD) & @LF) Local $Data2 = Json_Decode(BinaryToString(Curl_Data_Get($Html))) Local $json2 = Json_Encode($Data2, $Json_PRETTY_PRINT, " ", "\n", "\n", ",") MsgBox(0, 'Html',$json2) Json_Dump($Json2) ;~ ConsoleWrite(Json_Get($Data2, '["data"]["token"]')& @CRLF) ;~ Return Json_Get($Data2, '["data"]["token"]') Else ConsoleWrite(Curl_Easy_StrError($Code) & @LF) EndIf Curl_Easy_Cleanup($Curl) Curl_Data_Cleanup($Header) Curl_Data_Cleanup($Html) ConsoleWrite(@LF) EndFunc