newlisp HTTP Basic Authentication
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里面发出去。
newlisp HTTP Basic Authentication的更多相关文章
- Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结
Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 ( ...
- Nancy 学习-身份认证(Basic Authentication) 继续跨平台
开源 示例代码:https://github.com/linezero/NancyDemo 前面讲解Nancy的进阶部分,现在来学习Nancy 的身份认证. 本篇主要讲解Basic Authentic ...
- HTTP Basic Authentication
Client端发送请求, 要在发送请求的时候添加HTTP Basic Authentication认证信息到请求中,有两种方法:1. 在请求头中添加Authorization: Authoriz ...
- Web services 安全 - HTTP Basic Authentication
根据 RFC2617 的规定,HTTP 有两种标准的认证方式,即,BASIC 和 DIGEST.HTTP Basic Authentication 是指客户端必须使用用户名和密码在一个指定的域 (Re ...
- Web API 基于ASP.NET Identity的Basic Authentication
今天给大家分享在Web API下,如何利用ASP.NET Identity实现基本认证(Basic Authentication),在博客园子搜索了一圈Web API的基本认证,基本都是做的Forms ...
- PYTHON实现HTTP基本认证(BASIC AUTHENTICATION)
参考: http://www.voidspace.org.uk/python/articles/authentication.shtml#id20 http://zh.wikipedia.org/wi ...
- HTTP Basic Authentication认证的各种语言 后台用的
访问需要HTTP Basic Authentication认证的资源的各种语言的实现 无聊想调用下嘀咕的api的时候,发现需要HTTP Basic Authentication,就看了下. 什么是HT ...
- 一个HTTP Basic Authentication引发的异常
这几天在做一个功能,其实很简单.就是调用几个外部的API,返回数据后进行组装然后成为新的接口.其中一个API是一个很奇葩的API,虽然是基于HTTP的,但既没有基于SOAP规范,也不是Restful风 ...
- HTTP Basic Authentication认证(Web API)
当下最流行的Web Api 接口认证方式 HTTP Basic Authentication: http://smalltalllong.iteye.com/blog/912046 什么是HTTP B ...
随机推荐
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- poj 3278 catch that cow BFS(基础水)
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 61826 Accepted: 19329 ...
- hibernate级联查询映射的两种方式
Hibernate主要支持两种查询方式:HQL查询和Criteria查询.前者应用较为广发,后者也只是调用封装好的接口. 现在有一个问题,就是实现多表连接查询,且查询结果集不与任何一个实体类对应,怎么 ...
- linux系统初始化——inittab文件解析
inittab文件解析 inittab配置文件每行的基本格式如下. id:runlevels:action:process 其中某些部分可以为空,下面我们逐一介绍. 1.id 1-2个字符,配置行的唯 ...
- Python之文件操作:sys模块
1.sys.argv sys.argv 接受从外部传入的参数 import sys print sys.argv if sys.argv[1] == '--help': print 'True' ...
- C语言中 单引号与双引号的区别
在C语言中,字符用单引号,字符串用双引号.在c1='a';中,'a'是字符常量,必须用单引号."a"表示字符串,包含两个字符,一个是'a',一个是'\0'. 用数组来存储字符串. ...
- [AGC008F] Black Radius(树形dp)
神题啊!! Description 给你一棵有N个节点的树,节点编号为1到N,所有边的长度都为1 "全"对某些节点情有独钟,这些他喜欢的节点的信息会以一个长度为N的字符串s的形式给 ...
- 【BZOJ1413】取石子游戏(博弈,区间DP)
题意:在研究过Nim游戏及各种变种之后,Orez又发现了一种全新的取石子游戏,这个游戏是这样的: 有n堆石子,将这n堆石子摆成一排.游戏由两个人进行,两人轮流操作,每次操作者都可以从最左或最右的一堆中 ...
- 【CF1073C】Vasya and Robot(二分,构造)
题意:给定长为n的机器人行走路线,每个字符代表上下左右走,可以更改将一些字符改成另外三个字符,定义花费为更改的下标max-min+1, 问从(0,0)走到(X,Y)的最小花费,无解输出-1 n< ...
- SQL语句效率问题的几点总结
原文发布时间为:2009-10-29 -- 来源于本人的百度文章 [由搬家工具导入] 1. SQL优化的原则是: 将一次操作需要读取的BLOCK数减到最低,即在最短的时间达到最大的数据吞吐量。 调 ...