从4.2版本开始,HttpClient提供了一套易于使用的API,用于处理简单的操作。
eg1:用GET方法访问一个页面并将结果以String形式返回。(最简单的形式)
String result = Request.Get("http://somehost/").execute().returnContent().asString();
eg2:用POST方法访问页面并将结果保存。
Request.Post("http://somehost/some-form")
.bodyForm(Form.form().add("username", "vip").add("password", "secret").build()) //添加post参数
.execute().saveContent(new File("result.dump")); //保存为文件
eg3:
Request.Get("http://subirun.weebly.com/")
.connectTimeout(1000) //设置连接超时时长
.socketTimeout(1000)
.viaProxy(new HttpHost("127.0.0.1", 8087)) //使用代理服务器
.execute().returnContent().asString();
执行多个有关联的请求:用一个Executor实例处理多个关联的请求。
eg4:1.登录教务系统 2.查看自己的成绩
Executor executor = Executor.newInstance(HttpClients.createDefault());//用一个Executor实例处理多个关联的请求
executor.execute(Request.Get("http://jwxt.sdu.edu.cn:7777/pls/wwwbks/bks_login2.login?stuid=你的学号&pwd=你的密码"));//登录教务系统
String result = executor.execute(Request.Get("http://jwxt.sdu.edu.cn:7777/pls/wwwbks/bkscjcx.curscopre"))
.returnContent().asString();//访问查看成绩的页面,并将结果以String形式返回
eg1:用GET方法访问一个页面并将结果以String形式返回。(最简单的形式)
String result = Request.Get("http://somehost/").execute().returnContent().asString();
eg2:用POST方法访问页面并将结果保存。
Request.Post("http://somehost/some-form")
.bodyForm(Form.form().add("username", "vip").add("password", "secret").build()) //添加post参数
.execute().saveContent(new File("result.dump")); //保存为文件
eg3:
Request.Get("http://subirun.weebly.com/")
.connectTimeout(1000) //设置连接超时时长
.socketTimeout(1000)
.viaProxy(new HttpHost("127.0.0.1", 8087)) //使用代理服务器
.execute().returnContent().asString();
执行多个有关联的请求:用一个Executor实例处理多个关联的请求。
eg4:1.登录教务系统 2.查看自己的成绩
Executor executor = Executor.newInstance(HttpClients.createDefault());//用一个Executor实例处理多个关联的请求
executor.execute(Request.Get("http://jwxt.sdu.edu.cn:7777/pls/wwwbks/bks_login2.login?stuid=你的学号&pwd=你的密码"));//登录教务系统
String result = executor.execute(Request.Get("http://jwxt.sdu.edu.cn:7777/pls/wwwbks/bkscjcx.curscopre"))
.returnContent().asString();//访问查看成绩的页面,并将结果以String形式返回