Java简单入门【对比Python】Part1.POST表单请求
2018-01-20 02:12
621 查看
啰嗦一下
之所以现在学习编程越来越容易,因为咱们都是踩在巨人的肩膀上。所以咱们在学习的过程中慢慢成长为巨人,也有必要让其他人快速成长起来。Post表单例子
咱们拿百度获取access token的例子,详情见这里百度文档请求URL数据格式
向授权服务地址
https://aip.baidubce.com/oauth/2.0/token发送请求(推荐使用POST),并在URL中带上以下参数:
grant_type: 必须参数,固定为client_credentials;
client_id: 必须参数,应用的API Key;
client_secret: 必须参数,应用的Secret Key;
OK,咱们就使用POST方式来获取token,let’s go!!!
Postman请求
这些参数是私人的,所以打码了,希望理解。Python请求
咱们使用py超好用的模块requests,详细内容大家可以自行谷歌一下,蛮强大的,个人极力推荐。# coding:utf-8 import requests def bd_token(): url = 'https://aip.baidubce.com/oauth/2.0/token' # 这些字段的值我已经改了,复制这段代码请求不会正常返回 body = {'client_id': 'dGL7SgioYB4LsZnG9EnsCxxx', 'client_secret': 'BtZOxfurI47joml87nc1KMyB1hEmexxx', 'grant_type':'client_credentials'} response = requests.post(url=url, headers={"content-type": "application/x-www-form-urlencoded; charset=utf-8"}, data=body).content return response if __name__ == "__main__": print(bytes.decode(bd_token()))
Java请求
咱们使用Java的Fluent API来完成Java的Post表单请求,公司推荐的,个人还在学习当中。首先需要先引入maven包,pom.xml添加以下依赖:
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>fluent-hc</artifactId> <version>4.5.4</version> </dependency>
import org.apache.http.HttpEntity; import org.apache.http.client.fluent.Form; import org.apache.http.client.fluent.Response; import org.apache.http.client.fluent.Request; import org.apache.http.util.EntityUtils; import java.io.IOException; public class BaiduToken{ public static void main(String[] args) throws IOException { // 将表单数据组装成Form格式 Form form = Form.form().add("client_id", "dGL7SgioYB4LsZnG9EnsCkrP") .add("client_secret", "BtZOxfurI47joml87nc1KMyB1hEmeOBE") .add("grant_type","client_credentials"); String url = "https://aip.baidubce.com/oauth/2.0/token"; Response response = Request.Post(url) .addHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8") .bodyForm(form.build()) .execute(); // 获得返回结果方法1 HttpEntity entity; entity = response.returnResponse().getEntity(); System.out.println(EntityUtils.toString(entity)); // 获得返回结果方法2 System.out.println(response.returnContent().asString()); } }
相关文章推荐
- Java简单入门【对比Python】Part2.POST JOSN请求
- Java使用HttpURLConnection发送Get及Post请求简单过程
- JavaWeb -- Struts2,对比, 简单表单提交,校验,防重复提交, 文件上传
- Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form me
- python的requests类库(一)requests库和urllib包对比:一个简单get请求
- 简单记下httpclientjava实现get,post请求
- 【Java】向一个页面发送post请求并获取其处理之后的结果与用javascript创建一个表单后提交的安全性
- JAVA 爬虫之httpclient post请求提交表单获取Ajax数据
- Python---请求最简单PSOT表单登陆页面
- JavaWeb -- Struts2,对比, 简单表单提交,校验,防重复提交, 文件上传
- Python发送POST请求的简单例子
- [Java]自定义Jar库,Http简单的Get和Post请求封装
- Python爬虫的post请求简单实例
- java 后台模拟post表单请求发送key-value数据乱码
- 最简单的Java Post请求
- 案例4-3 Ajax的响应处理简单实例(征服Ajax——Web 2.0快速入门与项目实践Java)
- Java技巧:向Web站点发送POST请求
- [转载]java中用URLConnection 类post方式提交表单
- python get,post提交表单
- linux下纯C简单的HTTP POST请求 客户端模型