curl与HttpURLConnection
来源:互联网 发布:剧情java游戏 编辑:程序博客网 时间:2024/06/05 02:11
在项目的过程中,需要用到短信服务,一开始使用网易云信提供的短信接口,所以在网上找了一份demo就可以实现功能。但是网易云信主要针对的是公司,对于个人开发者来说,一次性没有那么多的需求,所以就不得不临时换了一个短信接口服务商。
这时候就在同学的途径中了解到了bmob比目云服务。但是有一个问题,就是bmob并没有提供java的demo,所以自己在官方提供的RestfulDemo基础上进行了拓展,使得java可以通过httpURLConnection来完成短信接口的请求。
官方提供的demo
curl -X POST \ -H "X-Bmob-Application-Id: Your Application ID" \ -H "X-Bmob-REST-API-Key: Your REST API Key" \ -H "Content-Type: application/json" \ -d '{"mobilePhoneNumber": "186xxxxxxxx", "content":"您的验证码是:222222, 有效期是10分钟。"}' \ https://api.bmob.cn/1/requestSms
由于curl是linux中url语法在命令行方式下工作的传输工具,所以为了将curl里涉及到的内容转化为java中的内容,就需要用到java中的HttpURLConnection接口。具体内容如下:
String param = "{\"mobilePhoneNumber\":\""+phone+"\",\"content\":\""+content+"\"}";try{ String url ="https://api.bmob.cn/1/requestSms"; URL realUrl = new URL(url); System.out.println(url); HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection(); conn.setDoOutput(true); conn.setRequestProperty("X-Bmob-Application-Id", ApplicationId); conn.setRequestProperty("X-Bmob-REST-API-Key", key); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestMethod("POST"); conn.connect(); OutputStream out = conn.getOutputStream(); out.write((param).getBytes("UTF-8")); out.flush(); out.close(); if (conn.getResponseCode() == 200) { System.out.println("发送成功"); } }catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace();}
有关的内容在以下的论坛中提及,但是里面json传输的内容有错StackOverflow
0 0
- curl与HttpURLConnection
- 什么是CURL,PHP与CURL
- 什么是CURL,PHP与CURL
- 什么是CURL,PHP与CURL
- 解析HttpURLConnection与代理服务器
- HttpURLConnection与代理服务器
- HttpsURLConnection 与 HttpURLConnection
- HttpsURLConnection 与 HttpURLConnection
- HttpURLConnection 与 HttpsURLConnection
- HttpsURLConnection 与 HttpURLConnection
- HttpURLConnection 与 Socket
- HttpUrlConnection 与 DefaultHttpClient
- setDoOutput与setDoInout(HttpUrlConnection)
- HttpURLConnection与HttpClient浅析
- URLConnection与HttpURLConnection小记
- HttpURLConnection与 HttpClient 区别
- HttpClient与HttpUrlConnection区别
- HttpClient与HttpURLConnection
- Maven 手动添加 JAR 包到本地仓库
- QT模块简介
- Swift 版本历史记录
- Mybatis Github官方下载
- 如何自动编写Makefile
- curl与HttpURLConnection
- STL源码剖析-关联式容器之hash_set、hash_map、hash_multiset和hash_multimap
- (super关键字)定义一个Document类,有name成员变量,从Document派生出Book类,增加PageCount变量。
- 简述ajax的原理及实现步骤。
- opencv.hpp文件
- ECMAScript 6 入门
- c++的多态
- spring+springmvc+mybatis基于注解最简洁的配置
- Ant和Ivy使用