首页 > 代码库 > newlisp HTTP Basic Authentication
newlisp HTTP Basic Authentication
HTTP Basic Authentication原来非常简单,参考文档:http://zh.wikipedia.org/wiki/HTTP%E5%9F%BA%E6%9C%AC%E8%AE%A4%E8%AF%81
将用户名和密码用:分隔,然后用base64编码,最后用HTTP GET方法请求页面
下面一小段代码用newLISP调用了Jenkins的Remote API:
dean@dean-beijing-home:~$ ./http.lsp hello <freeStyleBuild><action><cause><shortDescription>Started by upstream project "detail_summary_pipeline" build number 3</shortDescription><upstreamBuild>3</upstreamBuild><upstreamProject>detail_summary_pipeline</upstreamProject><upstreamUrl>job/detail_summary_pipeline/</upstreamUrl></cause></action><action></action><action><buildsByBranchName><refsremotesorigindevelop><buildNumber>8</buildNumber><marked><SHA1>8fe197b461d99b198551d9f50f3dc73cd5424c0b</SHA1><branch><SHA1>8fe197b461d99b198551d9f50f3dc73cd5424c0b</SHA1><name>refs/remotes/origin/develop</name></branch></marked><revision><SHA1>8fe197b461d99b198551d9f50f3dc73cd5424c0b</SHA1><branch><SHA1>8fe197b461d99b198551d9f50f3dc73cd5424c0b</SHA1><name>refs/remotes/origin/develop</name></branch></revision></refsremotesorigindevelop></buildsByBranchName><lastBuiltRevision><SHA1>8fe197b461d99b198551d9f50f3dc73cd5424c0b</SHA1><branch><SHA1>8fe197b461d99b198551d9f50f3dc73cd5424c0b</SHA1><name>refs/remotes/origin/develop</name></branch></lastBuiltRevision><remoteUrl>git@gitlab.bigdata.leshiren.com:datawarehouse/log_aggregation.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><building>false</building><duration>105297</duration><estimatedDuration>95546</estimatedDuration><fullDisplayName>sum_user_query_day_cloud #8</fullDisplayName><id>2014-10-02_11-01-53</id><keepLog>false</keepLog><number>8</number><result>SUCCESS</result><timestamp>1412218913296</timestamp><url>http://10.100.86.22:8080/job/sum_user_query_day_cloud/8/</url><builtOn>slave25</builtOn><changeSet><kind>git</kind></changeSet></freeStyleBuild>
http.lsp源代码如下:
#!/usr/bin/newlisp (println "hello") (set ‘user-pass "user:pwd") (set ‘auth (append "Authorization: Basic " (base64-enc user-pass) "\r\n")) (set ‘xml (get-url "http://your_jenkins/job/your_job/lastBuild/api/xml" 5000 auth)) (println xml) (exit)
注意,get-url函数功能强大,这里的5000指的是超时时间,auth就是将编码后的用户名和密码放在header里面发出去。
newlisp HTTP Basic Authentication
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。