当前位置: 首页 > news >正文

嵌入式(day34) http协议

WWW: 万维网

1. 万维网服务器后台如何标记万维网数据  url:统一资源定位符
2. 万维网客户端与万维网服务器之间使用什么方式通信 HTTP:超文本传输协议
3. 万维网客户端如何展示请求的数据 HTML:超文本标记语言

url:统一资源定位符

<协议>://<主机>:<端口>/<路径>

https://www.baidu.com/
百度主页
https://www.baidu.com/s?wd=%E7%89%B9%E6%9C%97%E6%99%AE%E5%B0%94%E。。。。

HTTP:超文本传输协议

应用层协议
端口:80
备用端口:8080
基于传输层的TCP协议

HTTP请求报文:

爬虫示例
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h> /* superset of previous */
#include <sys/types.h>          /* See NOTES */
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>
#include <pthread.h>
#include <stdlib.h>
#include <fcntl.h>      
#include <sys/stat.h> #define SER_PORT  80
#define SER_IP  "8.129.233.227"int creat_tcp_connect()
{int sockfd = socket(AF_INET,SOCK_STREAM,0);if(sockfd < 0){perror("socket error");return -1;}struct sockaddr_in seraddr;seraddr.sin_family = AF_INET;seraddr.sin_port = htons(SER_PORT);seraddr.sin_addr.s_addr = inet_addr(SER_IP);int ret = connect(sockfd,(struct sockaddr *)&seraddr,sizeof(seraddr));if(ret < 0){perror("connect error");return -1;}return sockfd;}int send_http_request(int sockfd)
{char *preq = "GET /?app=weather.future&weaId=1&&appkey=77274&sign=131531661487c4bb25ebf37a8618bd51&format=json HTTP/1.1\r\n""Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\r\n""Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6\r\n""Connection: keep-alive\r\n""Cookie: Hm_lvt_0519aa0e64028291465eb3dcd3f34a17=1756113086,1756132357; Hm_lpvt_0519aa0e64028291465eb3dcd3f34a17=1756132357; HMACCOUNT=BC89DCAA09A998BB\r\n""Host: api.k780.com\r\n""Upgrade-Insecure-Requests: 1\r\n""User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0\r\n""\r\n";ssize_t cnt = send(sockfd,preq,strlen(preq),0);if(cnt < 0){perror("send error");return -1;}

http://www.dtcms.com/a/351411.html

相关文章:

  • 使用Java对接印度股票市场API开发指南
  • Markdown学习笔记(4)
  • 计算神经科学数学建模编程深度前沿方向研究(上)
  • 新手向:pip安装指南
  • 《数据之心》——鱼小妖的觉醒(科研篇)
  • DAY 57 经典时序预测模型1
  • 如何在PC上轻松访问iPhone照片(已解决)
  • UE5 PCG 笔记(三) Normal To Density 节点
  • 神经网络参数量计算详解
  • linux服务器监控平台搭建流程
  • 深度学习:卷积神经网络(CNN)
  • [Mysql数据库] 知识点总结2
  • 高教杯数学建模2021-C 生产企业原材料的订购与运输
  • 将vmware workstation虚拟机迁移至pve
  • 基础|Golang内存分配
  • 游戏手柄是怎么做的?| 赛卓电子Semiment
  • 基于规模化HIL测试集群的CICD方案
  • 以教学标准为纲:健康管理实训室设备清单的价值挖掘与实践路径
  • Barba.js 完全使用指南
  • Mac安装docker,启动elasticsearch
  • 04 网络信息内容安全--入侵检测技术
  • UNIX网络编程笔记:高级套接字编程20-25
  • Excel怎么换行?3种单元格内换行方法?【图文详解】Excel自动换行?Alt+Enter?
  • 实战 Kaggle 比赛:图像分类 (CIFAR-10) TOP1 0.97900
  • 04. 鸿蒙_获取app缓存大小和清除缓存
  • 使用字节旗下的TREA IDE快速开发Web应用程序
  • Vue中的scoped属性
  • 用合成数据赋能大语言模型,实现端到端语音翻译的突破
  • 【序列晋升】17 Spring Cloud Config 分布式系统却含有集中化配置
  • Markdown学习笔记(3)