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

嵌入式(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.xdnf.cn/news/19039.html

相关文章:

  • 快速了解卷积神经网络
  • 【软考论文】论DevOps及其应用
  • C#由Dictionary不正确释放造成的内存泄漏问题与GC代系
  • 红黑树下探玄机:C++ mapmultimap 的幕后之旅
  • Java大厂面试实录:从Spring Boot到Kubernetes的全链路技术突围
  • 【数据结构】单链表详解
  • Linux系统网络管理学习.2
  • Wireshark捕获数据的四种层次
  • IUV5G专网排障(下)
  • git submodule的基本使用
  • 【软考论文】论领域驱动开发方法(DDD)的应用
  • 为什么的中小企业很难承受“大型系统”的成本
  • 基于 MediaPipe + Three.js 的实时姿态可视化前端
  • 论文阅读:CIKM 2024 Empowering Private Tutoring by Chaining Large Language Models
  • 【7】SQL 语句基础应用
  • 运算符(2)
  • AT_abc401_f [ABC401F] Add One Edge 3
  • 传统联邦 VS 联邦+大模型
  • 学习做动画4.回转运动
  • springboot实现合同生成
  • C++ SNIFE
  • JVM之【运行时数据区】
  • Nginx访问限制学习笔记
  • 论文学习日志——忆阻器与神经网络——part1
  • 基于XiaothinkT6语言模型的文本相似度计算:轻量方案实现文本匹配与去重
  • AT_abc403_f [ABC403F] Shortest One Formula
  • 阿里云docker搭建的mysql无法访问
  • Docker化性能监控平台搭建:JMeter+InfluxDB+Grafana全攻略
  • GRPO算法:告别PPO内存炸弹,无需价值函数,用组内排名代替绝对评分
  • NUMA架构