HTTP/HTTPS API调用接口的使用(源码分析)

通过TCP 协议发送的最原始的API接口的数据

//对于HTTP协议 和 HTTPS 协议,首先要明白两者的区别
// 什么是HTTP协议 :http协议是我们规定的一些标准
它里面有以下几个部分 :
http 服务器 : 服务器IP地址
http 端口号: 80(就是80),只要能通过网页访问的http的网站还是什么,就是80端口(至少我还没碰到其他的端口)
协议本身 :这里用一张图便于分析()
在这里插入图片描述
这个东西加起来在一块的就是http协议。

  • https 协议 :其实压根就没有纯粹的https协议。但是很容易和http协议混在一块。现在为了尽可能的保证数据是安全访问的,所以加了一个加密方式,里面带有ID 和密钥、加密方式等各种信息,就是 ssl/TSL 两种方式。但是本身还是通过http协议来进行访问的。(如果硬件,如ESP8266这种的话),那么还是需要使用http的端口(也就是80接口),https的端口是(433)接口,但是:我们使用433接口的时候,你会发现,他返回给你的消息是不太对的,也就是说,你请求获取不到实际你想要的接口。
  • 为什么呢? https 现在用的绝大部分都是通过(http + ssl./tsl)认证的方式,也就是说,我们发的消息是发送消息还是通过80端口(http)传输的,最终他们在服务器上会进行解析,然后在通过80端口返回消息,但是呢(他返回消息是不是公开的,是经过433端口判断的的,即可以认为i,你通过http发的请求发送过去以后,那么此时需要让433判断你这个请求是不是合法的—》即是否是通过(ID+密钥+加密方式等等各种信息进行判断))。
    只有433端口判断后,认为你的请求是合法的,这是再通知80端口给你发送数据,但此时发送给你的消息是已经经过认证的(也就是433端口,https协议)。
#define _CRT_SECURE_NO_DEPRECATE //兼容C的标准格式
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>

#define URL  "/api?version=v10&appid=51661937&appsecret=Ya6D3DWn"
//#define URL "/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"
#define Host_address "v0.yiketianqi.com"

int main()
{
	char temp[128];
	char TXbuff[2048];  /
	FILE *fpWrite = fopen("data_api.txt", "w");
	if (fpWrite == NULL)
	{
		return 0;
	}

	memset(TXbuff, 0, 2048);
	memset(temp, 0, 128);
	sprintf(TXbuff, "GET ");
	strcat(TXbuff, URL);
	strcat(TXbuff, " HTTP/1.1\r");
	strcat(TXbuff, "Host:");
	strcat(TXbuff, Host_address);
	strcat(TXbuff, "\r\n");
	int i = 0;
	while (TXbuff[i])
	{
		fprintf(fpWrite, "%c", TXbuff[i]);
		i++;
	}
	//fprintf(fpWrite, "%c", TXbuff);
	fclose(fpWrite);

	return 1;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Labelme是一种用于标记图像中目标位置及其类别的开源工具,源码分析主要涉及其主要功能和实现原理。 Labelme的源码分析从其主要功能着手,首先是图像加载和展示功能。Labelme通过读取图像文件并将其展示在界面上,提供了交互式地绘制标注的能力。源码中通过调用图像库,如PIL或OpenCV,实现图像的加载和显示。 其次,源码分析包括了标注绘制和编辑功能的实现。Labelme提供了方便的绘制和编辑工具,用户可以通过点击鼠标或触摸屏进行绘制和编辑。在源码中,这些功能可以通过监听鼠标或触摸事件,并通过更新界面上的标注图层来实现。 第三,源码分析还涉及数据的保存和导出功能。Labelme允许用户将标注的结果保存为JSON格式的文件,以便后续的分析使用。在源码中,这些功能通过将标注转换为对应的JSON格式,并写入文件中实现。 最后,源码分析还包括了与其他工具的集成和扩展的实现。Labelme支持与其他标注工具、机器学习框架等的集成,通过提供相应的接口和功能实现。在源码中,这些功能可以通过调用相关的API接口使用相应的库来实现。 综上所述,Labelme的源码分析主要包括图像加载和展示、标注绘制和编辑、数据保存和导出、以及与其他工具的集成和扩展等功能的实现原理。通过对源码分析,可以深入了解Labelme的内部实现细节,从而更好地理解和使用该工具。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值