HTTP接口文档

合集下载

HTTP接口文档

HTTP接口文档

HTTP接口文档接口域名:一、工作方式....................................................................... 错误!未定义书签。

1.1 密码验证方式............................................................................... 错误!未定义书签。

二、字符编码....................................................................... 错误!未定义书签。

三、响应格式....................................................................... 错误!未定义书签。

四、短信发送(单条,多条发送)...................................... 错误!未定义书签。

五、接收状态报告................................................................ 错误!未定义书签。

5.1 主动获取状态............................................................................... 错误!未定义书签。

六、接收上行短信(回复)................................................. 错误!未定义书签。

6.1 主动接收上行短信(回复) ......................................................... 错误!未定义书签。

6.2 推送接收上行短信(回复) ......................................................... 错误!未定义书签。

一、接口HTTP协议

一、接口HTTP协议

⼀、接⼝HTTP协议⼀、接⼝API: Application Programming Interface,应⽤程序可编程接⼝1)接⼝分类硬件接⼝:具有连接功能、适配。

两个硬件设备之间的连接⽅式(⽐如⿏标和电脑通过USB接⼝连接)软件接⼝:软件程序之间数据交互的通道(⽤户界⾯是软件接⼝)2)软件接⼝分类程序内部接⼝:是客户端与服务器的接⼝,⽤来实现客户端和服务器的数据传递外部接⼝:⽐如通过第三⽅登录,第三⽅⽀付,通过调⽤外部接⼝并返回当前的系统3)常见的接⼝协议webService接⼝:使⽤soup协议通过http传输,请求报⽂和返回报⽂都是xml格式的,常⽤测试⼯具有soupUIhttp协议接⼝:⽬前使⽤最⼴泛的,使⽤HTTP协议来传输数据,常见的请求⽅法有get、post等,常⽤测试⼯具有postman、jmeter dubbo、 websocket、 ws://...、 ftp://等协议。

4)接⼝测试本质是基于某种协议,发送⼀个请求给服务器,然后服务器返回⼀个响应,然后对响应数据进⾏分析,判断是否与我们预期的返回⼀致,从⽽验证功能是否正确。

⼆、HTTP协议解读1)http协议:超⽂本传输协议2)https:简单的来说,就是http的安全版,在http下加⼊了SSL层(SSL主要⽤户web的安全传输协议)3)http的默认端⼝号是:80 ,默认的端⼝在url可以不加 https的默认端⼝号是:443 ,默认的端⼝在url可以不加4)HTTP请求过程客户端:PC端的应⽤程序浏览器 APP ⼩程序HTTP通信:客户端发送给服务器的请求信息 服务器返回给客户端的响应信息客户端:前端----->主动请求。

能够发起对应的请求的客户端。

服务端:后端----->被动接受。

1.当⽤户在浏览器的地址栏中输⼊⼀个URL并按回车键后,浏览器会向HTTP服务器发送HTTP请求。

HTTP请求主要分为“Get”和“Post”两种⽅法。

HTTP协议详解(文档)

HTTP协议详解(文档)

HTTP协议详解(⽂档)⽬录引⾔ (3)⼀、HTTP 协议详解之URL 篇 (3)⼆、HTTP 协议详解之请求篇 (3)三、HTTP 协议详解之响应篇 (4)四、HTTP 协议详解之消息报头篇 (5)1、普通报头 (5)2、请求报头 (6)3、响应报头 (7)4、实体报头 (7)五、利⽤telnet 观察http 协议的通讯过程 (8)1、打开telnet (8)2、连接服务器并发送请求 (9)3、实验结果: (9)4、注意事项 (10)六、HTTP 协议相关技术补充 (10)1、基础 (10)2、协议分析的优势—HTTP 分析器检测⽹络攻击 (11)3、HTTP 协议Content Lenth 限制漏洞导致拒绝服务攻击 (11)4、利⽤HTTP 协议的特性进⾏拒绝服务攻击的⼀些构思 (11)5、Http 指纹识别技术 (11)6、其他 (12)HTTP协议详解引⾔HTTP 是⼀个属于应⽤层的⾯向对象的协议,由于其简捷、快速的⽅式,适⽤于分布式超媒体信息系统。

它于1990 年提出,经过⼏年的使⽤与发展,得到不断地完善和扩展。

⽬前在WWW 中使⽤的是HTTP/1.0的第六版,HTTP/1.1 的规范化⼯作正在进⾏之中,⽽且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP 协议的主要特点可概括如下:1.⽀持客户/服务器模式。

2.简单快速:客户向服务器请求服务时,只需传送请求⽅法和路径。

请求⽅法常⽤的有GET、HEAD、POST。

每种⽅法规定了客户与服务器联系的类型不同。

由于HTTP 协议简单,使得HTTP 服务器的程序规模⼩,因⽽通信速度很快。

3.灵活:HTTP 允许传输任意类型的数据对象。

正在传输的类型由Content-Type 加以标记。

4.⽆连接:⽆连接的含义是限制每次连接只处理⼀个请求。

服务器处理完客户的请求,并收到客户的应答后,即断开连接。

采⽤这种⽅式可以节省传输时间。

简版HTTP协议接口文档.20150407

简版HTTP协议接口文档.20150407

简版HTTP协议接口文档.20150407HTTP短信接口规范v1.22015年3月文档变更记录目录1概述 (5)1.1协议说明 (5)1.2适用范围 (5)1.3参考资料 (5)1.4缩略语 (6)2通信方式 (6)3协议报文定义 (9)3.1报文域属性说明 (6)3.2消息报文定义 (9)3.2.1下行短信提交MTSMSSUBMIT (9)3.2.2查询当前预付费用户余额QUERYAMTF (11) 3.2.3上行URL验证MOURLVERIFY (12)3.2.4上行短信推送MOSMSPUSH (13)3.2.5上行状态报告推送RPTPUSH (14)4附录-码表 (15)4.1认证返回码authstatus (15)4.2下行短信提交响应码mtrespcode (15)4.3查询余额响应码queryamtfrespcode (15)4.4上行接收响应码morespcode (16)4.5状态报告Stat (16)1概述1.1协议说明本短信API是使用HTTP并遵循REST原则设计的Web服务接口,可以使用几乎任何客户端和任何编程语言与REST API进行交互。

通过发送简单的HTTP POST请求就可以轻松接入使用。

1.1版本说明在作为CMPP变体的http协议chif1.0推出后,为了简化协议开发难度,对协议的下行和上行部分进行相应地修改,形成本简化协议,保留业务逻辑必要的核心字段,去掉扩展功能的若干字段(本接口不再具备发送数据短信能力)。

1.1与chif1.0的异同:1. 安全认证方式相同,仍然为报文头携带Authorization信息base64编码,URL携带MD5 token2. 下行MTSMSSubmit/上行MOSmsPush报文简化3. 状态报告推送方式保持不变4. MO/MT短信内容传递方式不使用Byte[],而是使用Base64编码的原始UTF-8字符串进行传递。

1.2适用范围1.3参考资料HTTP 1.01.4缩略语2通信方式通信支持HTTP / HTTPS。

短信HTTP接口说明文档

短信HTTP接口说明文档

HTTP接口说明文档接口地址:http://203.171.227.208:9876/plan/Api/请先读这里:通过API提交参数时, 参数内容编码必须为GB2312, 且经过url编码例如:“您好”的url编码为“%C4%FA%BA%C3”API返回的内容是一些键值对的字符串集合,形式为:“k1=v1&k2=v2&k3=v3…”返回内容中的键值显示为url编码形式, 经过url解码后的键值是GB2312编码的字符串例如:返回内容“result=0&description=%B7%A2%CB%CD%B3%C9%B9%A6&faillist=”表示的实际内容为“result=0&description=发送成功&faillist=”1、发送短信功能描述:短信发送调用格式:http://203.171.227.208:9876/plan/Api/Send.aspx?username=用户名&password=密码&mobiles=手机号码&content=内容&f=1返回格式:result=&description=错误描述&faillist=失败号码列表注:faillist 列表中的号码间隔为英文”,”返回值:2、修改密码功能描述:修改密码调用格式:http://203.171.227.208:9876/plan/Api/ChgPwd.aspx?username=用户名&password=密码&newpwd=新密码返回格式:result=&description=错误描述参数说明:返回值:3、查询余额功能描述:查询余额调用格式:http://203.171.227.208:9876/plan/Api/Query.aspx?username=用户名&password=密码返回格式:result=返回值&balance=条数&description=错误描述注意: 当返回值为0时才同时返回条数参数说明:返回值:4.短信接收功能描述:收取回复的短信,账号需开通回复功能。

Http接口调用示例教程

Http接口调用示例教程

Http接⼝调⽤⽰例教程介绍HttpClient库的使⽤前,先介绍jdk⾥HttpURLConnection,因为HttpClient是开源的第三⽅库,使⽤⽅便,不过jdk⾥的都是⽐较基本的,有时候没有HttpClient的时候也可以使⽤jdk⾥的HttpURLConnection,HttpURLConnection都是调jdk 库的,下⾯给出实例代码:import sun.misc.BASE64Encoder;import java.io.*;import .HttpURLConnection;import .URL;import .URLConnection;public class Main {public static void main(String[] args) throws Exception {String url = "https:///ocr_service?app_key=%s";String appKey = "xxxxxx"; // your app_keyString appSecret = "xxxxxx"; // your app_secreturl = String.format(url, appKey);OutputStreamWriter out = null;BufferedReader in = null;String result = "";try {String imgData = imageToBase64("example.jpg");String param="{\"app_secret\":\"%s\",\"image_data\":\"%s\"}";param=String.format(param,appSecret,imgData);URL realUrl = new URL(url);HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");conn.setDoOutput(true);conn.setDoInput(true);conn.setRequestMethod("POST"); // 设置请求⽅式conn.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的conn.connect();out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");out.append(param);out.flush();out.close();in = new BufferedReader(new InputStreamReader(conn.getInputStream()));String line;while ((line = in.readLine()) != null) {result += line;}} catch (Exception e) {System.out.println("发送 POST 请求出现异常!" + e);e.printStackTrace();}finally {try {if (out != null) {out.close();}if (in != null) {in.close();}} catch (IOException ex) {ex.printStackTrace();}}System.out.println(result);}public static String imageToBase64(String path){String imgFile = path;InputStream in = null;byte[] data = null;try{in = new FileInputStream(imgFile);data = new byte[in.available()];in.read(data);in.close();}catch (IOException e){e.printStackTrace();}BASE64Encoder encoder = new BASE64Encoder();return encoder.encode(data);}}然后介绍⼀下HttpClient,只给出实例代码,不封装成⼯具类,因为理解基本⽤法后,⾃⼰封装⼯具类也是很容易的HttpClient的GET请求CloseableHttpClient httpClient = HttpClients.createDefault();//https:///search?utf8=%E2%9C%93&q=jeeplatform&type=URIBuilder uriBuilder = new URIBuilder("https:///search");uriBuilder.addParameter("q","jeeplatform");HttpGet httpGet = new HttpGet(uriBuilder.build());CloseableHttpResponse httpResponse = httpClient.execute(httpGet);int statusCode = httpResponse.getStatusLine().getStatusCode();if(statusCode==200){HttpEntity entity = httpResponse.getEntity();System.out.println(EntityUtils.toString(entity,"UTF-8"));}httpClient.close();httpResponse.close();HttpClient的POST请求,与GET请求类似CloseableHttpClient httpClient = HttpClients.createDefault();//https:///sie?query=%E8%8A%B1%E5%8D%83%E9%AA%A8&hdq=AQ7CZ&ekv=3&ie=utf8&String uri = "https:///sie";List<NameValuePair> params= new ArrayList<NameValuePair>();params.add(new BasicNameValuePair("query","花千⾻"));StringEntity entity = new UrlEncodedFormEntity(params,"UTF-8");HttpPost httpPost = new HttpPost(uri);httpPost.setEntity(entity);CloseableHttpResponse httpResponse = httpClient.execute(httpPost);int statusCode = httpResponse.getStatusLine().getStatusCode();if(statusCode == 200){System.out.println(EntityUtils.toString(httpResponse.getEntity()));}httpClient.close();httpResponse.close();上⾯例⼦是可以⽀持访问签名要求没那么⾼的接⼝,然后访问⾃签名https的站点,那就要建⽴⼀个⾃定义的SSLContext对象,该对象要有可以存储信任密钥的容器,还要有判断当前连接是否受信任的策略,以及在SSL连接⼯⼚中取消对所有主机名的验证,如果还是使⽤默认的HttpClient是会有下⾯的异常:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target给出解决⽅法:public static CloseableHttpClient getClient() {RegistryBuilder<ConnectionSocketFactory> registryBuilder = RegistryBuilder.create();ConnectionSocketFactory plainSF = new PlainConnectionSocketFactory();registryBuilder.register("http", plainSF);// 指定信任密钥存储对象和连接套接字⼯⼚try {KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());// 信任任何链接TrustStrategy anyTrustStrategy = new TrustStrategy() {@Overridepublic boolean isTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {return true;}};SSLContext sslContext = SSLContexts.custom().useTLS().loadTrustMaterial(trustStore, anyTrustStrategy).build();LayeredConnectionSocketFactory sslSF = new SSLConnectionSocketFactory(sslContext, SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);registryBuilder.register("https", sslSF);} catch (KeyStoreException e) {throw new RuntimeException(e);} catch (KeyManagementException e) {throw new RuntimeException(e);} catch (NoSuchAlgorithmException e) {throw new RuntimeException(e);}Registry<ConnectionSocketFactory> registry = registryBuilder.build();// 设置连接管理器PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(registry);RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(TIMEOUT_SECONDS * 1000).setConnectTimeout(TIMEOUT_SECONDS * 1000).build();return HttpClientBuilder.create().setConnectionManager(connManager).setMaxConnTotal(POOL_SIZE).setMaxConnPerRoute(POOL_SIZE).setDefaultRequestConfig(requestConfig).build(); }然后CloseableHttpClient httpClient = getClient()就可以然后HttpClient语法相对⽐较繁杂?如果觉得⽐较⿇烦,可以⽤Spring框架的RestTemplate,这⾥要创建⼀个⾃定义的bean,根据需要创建,代码⽰例://访问⾃签名https的要点HttpComponentsClientHttpRequestFactory requestFactory =new HttpComponentsClientHttpRequestFactory(HttpClientUtil.getClient());RestTemplate restTemplate = new RestTemplate(requestFactory);*/Bean result= restTemplate.getForObject(digitalgdOauthUrl, Bean.class);。

HTTP开发接口70字

HTTP开发接口70字

企信通接口开发文档
(HTTP接口版)
一、重要说明:
1、使用特点及开发难度:
在应用程序中调用URL语句来完成短信的功能。

开发难度简单,需要进行程序开发。

2、公司服务器地址:
3、在下面所有访问页面前面加上这个路径:
(接口服务器地址)+各接口短信文件
使用域名,防止当此机房故障时,自动转换到正常的机房中。

二、接口短信文件:
1、发送短信
(1)群发普通短信(/send/g70send.aspx):
(2)群发长短信(/send/longsend.aspx):
注:此功能仅限于移动106通道,请联系工作人员咨询。

2、接收短信:
①、主动接收短信:(/send/readsms.aspx):
(主动读取用户上行回复的短信,每次只能读取一条短信。

如果有多条未读短信,请重复调用本接口读取。

读取间隔请大于5秒/次。

)
②、被动接收短信:
3、获得用户信息及余额(/send/getfee.aspx):
4、修改用户密码(/send/cpwd.aspx):
三、错误号:
1、短信HTTP接口返回错误代码:
2、HTTP访问错误代码:。

http协议通信接口范文

http协议通信接口范文

http协议通信接口范文英文回答:HTTP (Hypertext Transfer Protocol) is an application protocol that allows communication between clients and servers over the internet. It is the foundation of data communication in the World Wide Web. HTTP follows a client-server model, where the client sends a request to the server, and the server responds with the requested data.HTTP requests are made up of several components, including the request method, URL, headers, and optional body. The request method indicates the action to be performed on the server, such as GET (retrieve a resource), POST (submit data to be processed), PUT (update a resource), DELETE (remove a resource), etc. The URL specifies the location of the resource on the server. Headers provide additional information about the request, such as the content type, authentication credentials, and caching instructions. The optional body contains data to be sent tothe server, typically used in POST or PUT requests.Once the server receives the request, it processes it and generates a response. The response includes a status code, headers, and an optional body. The status code indicates the outcome of the request, such as 200 OK (successful), 404 Not Found (resource not found), 500 Internal Server Error (server encountered an error), etc. Headers in the response provide information about the server, content type, caching instructions, etc. The optional body contains the requested data or an error message.HTTP is stateless, meaning that each request-response pair is independent and does not carry any information about previous requests or sessions. To maintain stateful interactions, cookies or session tokens are commonly used. Cookies are small pieces of data stored on the client's side, while session tokens are unique identifiers generated by the server and stored on the client's side.In addition to the basic HTTP methods, there are alsoother features and extensions available, such as HTTP caching, compression, authentication, and encryption. These features enhance the performance, security, andfunctionality of HTTP communication.中文回答:HTTP(超文本传输协议)是一种应用协议,允许客户端和服务器在互联网上进行通信。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HTTP接口文档
接口域名:
一、工作方式....................................................................... 错误!未定义书签。

1.1 密码验证方式............................................................................... 错误!未定义书签。

二、字符编码....................................................................... 错误!未定义书签。

三、响应格式....................................................................... 错误!未定义书签。

四、短信发送(单条,多条发送)...................................... 错误!未定义书签。

五、接收状态报告................................................................ 错误!未定义书签。

5.1 主动获取状态............................................................................... 错误!未定义书签。

六、接收上行短信(回复)................................................. 错误!未定义书签。

6.1 主动接收上行短信(回复) ......................................................... 错误!未定义书签。

6.2 推送接收上行短信(回复) ......................................................... 错误!未定义书签。

七、取剩余短信条数............................................................ 错误!未定义书签。

八、取已发送总条数............................................................ 错误!未定义书签。

九、接口安全(绑定IP).................................................... 错误!未定义书签。

十、取发送记录 ................................................................... 错误!未定义书签。

一、工作方式
双方通过HTTP方式交互数据,第三方可以简单的“name=value”方式发送提交内容或响应请求内容。

即通过HTTP的GET/POST方式交换。

另外双方需要保证数据传输的完整性和安全性,每次发送请求都有响应(响应返回格式为纯文本),安全验证目前采用用户名、密码和IP绑定的方式。

1.1 密码验证方式
接口密码使用“登录密码”与“用户名”拼接字符串后能过md5加密进行验证
如登录密码是:123123
如用户名是:test
接口密码(pwd)=md5(登录密码+用户名)
pwd=md5(123123test)
pwd=b9887c5ebb23ebb294acab183ecf0769
二、字符编码
服务器接收数据可以是GBK或UTF-8编码字符,默认接收数据是GBK编码,如提交的是UT F-8编码字符,需要添加参数encode=utf8。

请求响应返回内容是GBK编码。

三、响应格式
所为响应即每次向服务器提交请求后返回值
响应值格式为纯文本
四、短信发送(单条,多条发送)
GET/POST操作格式:
/?uid=用户账号&pwd=MD532位密码&mobile=号码&mobileids=消息编号&cont ent=内容
接口参数说明:
接收号:,1390000test,
发送内容:发送测试
/?uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769&mobile=,1390000test,&mo bileids=888,1390000test,666&content=%B7%A2%CB%CD%B2%E2%CA%D4
发成功时响应状态码值:
sms&stat=100&message=发送成功
stat 状态码
message 状态说明
返回发送的状态码
状态码说明
100 发送成功
101 验证失败
102 短信不足
103 操作失败
104 非法字符
105 内容过多
106 号码过多
107 频率过快
108 号码内容空
109 账号冻结
110 禁止频繁单条发送
112 号码错误
113 定时时间格式不对
114 账号被锁,10分钟后登录
116 禁止接口发送
117 绑定IP不正确
120 系统升级
五、接收状态报告
5.1 主动获取状态
GET/POST操作格式:
/?uid=用户账号&pwd=MD532位密码
例:
/?uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769 响应返回值:
,100,556789,2011-03-11 11:22:11
,100,556311,2011-03-11 11:28:22
说明:
手机号,状态,发送唯一编号,状态返回时间+换行
每条状态记录以换行分隔,一行一条状态记录
六、接收上行短信(回复)
6.1 主动接收上行短信(回复)
操作的格式:
/?uid=用户账号&pwd=MD532位密码
注:提取的回复短信不能在重复提取
接口参数说明:
例:
/?uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769
响应结果为纯文本,每次可接收多条回复信息:
状态码{&}回复号码||回复内容||回复时间||回复网关号{&}回复号码||回复内容||回复时间||回复网关号…….
例响应结果值:
100{&}||短信测试回复||2008-05-27 12:10:11||27282{&}||短信测试回复2||2009-05-2 7 13:11:11||1068
返回发送的状态码
无回复内容时返回空
注:对回复的内容中有||会自动转成全角||字符串
6.2 推送接收上行短信(回复)
使用说明:由服务器平台发送上行回复短信到您的接口程序上,使用Http协议GET和PO ST方式发送,您需要提交一个http接口地址来接收如下格式参数值
操作的格式:
接口参数说明:
七、取剩余短信条数
操作格式:
/?uid=用户账号&pwd=MD5位32密码
接口参数说明:
例:
/?uid=test&pwd=fa246d0262c3925617b0c72bb20eeb1d
响应结果为纯文本:
sms&stat=状态码&remain=剩余可发短信
例响应结果值:
sms&stat=100&remain=100
八、取已发送总条数
操作格式:
/?uid=用户账号&pwd=MD5位32密码&cmd=send
接口参数说明:
例:
/?uid=test&pwd=fa246d0262c3925617b0c72bb20eeb1d&cmd=send
响应结果为纯文本:
sms&stat=状态码&remain=已发短信
例响应结果值:
sms&stat=100&remain=100
九、接口安全(绑定IP)
为了接口更加的安全,请登录WEB平台在“系统设置”中绑定你服务器的IP地址,可绑定1 0个固定IP,绑定IP后只有通过你的服务器来发送短信,防止他人使用
十、取发送记录
操作的格式:
/?uid=用户账号&pwd=MD532位密码&page=1
接口参数说明:每次最多取50条记录,可以根据页数依次取完
例:
/?uid=test&pwd=b9887c5ebb23ebb294acab183ecf0769
响应结果为纯文本,每记录用“|#|”隔开,每个字段之间用“||”;
返回如下格式:
总记录数||当前记录数||总页数|#|发送时间||号码||内容||状态|#|发送时间||号码||内容| |状态|#|…….
无回复内容时返回空。

相关文档
最新文档