HTTP Basic Authentication原来很easy,參考文档:http://zh.wikipedia.org/wiki/HTTP%E5%9F%BA%E6%9C%AC%E8%AE%A4%E8%AF%81

将username和password用:分隔,然后用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就是将编码后的username和password放在header里面发出去。

最新文章

  1. 《征服 C 指针》摘录5:函数形参 和 空的下标运算符[]
  2. window7下安装第三方包报错及解决
  3. js 自带的 map() 方法
  4. Apache Tomcat
  5. C#一元运算重载的深入理解
  6. 不错的开源FTP类库
  7. 说不尽的MVVM(3) &ndash; 从通知属性说起
  8. Html.TextBoxFor三元判断
  9. 在linux CentOS6上安装web环境
  10. iOS从生成证书到打包上架-02(详细2016-10最新)
  11. Winform与WPF对话框(MessageBox, Dialog)之比较
  12. each用法的总结
  13. (中等) HDU 5293 Tree chain problem,树链剖分+树形DP。
  14. Maven的安装环境配置
  15. Sec site list
  16. django template模板 母板 include导入
  17. 使用树莓派 Raspberry Pi 播放豆瓣 FM
  18. 干货 | Elasticsearch 集群健康值红色终极解决方案【转】
  19. Hibernate学习(二)———— 一级缓存和三种状态解析
  20. SNF快速开发平台MVC-瀑布式分页组件

热门文章

  1. 如何解决Jmeter导出的聚合报告是乱码易位问题
  2. PHP 命名空间和自动加载
  3. 12 JVM 垃圾回收(下)
  4. pip更新产生的问题及其解决方法?
  5. 【转】BehaviorDesigner学习
  6. Unity3D_异步加载场景(进度条)
  7. Redis实现缓存,你应该懂的哪些思路!
  8. 【09】Vue 之 Vuex 数据通信
  9. iOS不用官方SDK实现微信和支付宝支付XHPayKit
  10. Docker 常用命令总结