稳定端口映射工具_内网穿透软件_本地映射外网教程交流_nat123论坛客服

 找回密码
 获得新生
查看: 320746|回复: 5
打印 上一主题 下一主题

单片机如何进行nat123全映射?域名自动认证代码示例

[复制链接]
跳转到指定楼层
楼主
发表于 2018-9-10 15:51:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于工作需要,现在开发通过单片机访问,电脑端的nat123的全映射?
根据全映射的的说明,先进行http域名访问,然后就可以,进行电脑端的全映射服务了,


谁有http进行单片机C语言,实现的http域名访问包??

中移动的NB-IOT,如何实现http的域名访问数据包??


谢谢




沙发
发表于 2018-9-11 07:54:30 | 只看该作者
单片机如果是linux系统可以使用命令进行认证:
wget  "http://映射后域名:任意端口"

如果是其它系统可以直接TCP连接任意端口后,发送http数据包:
GET / HTTP/1.1
Host: 你的全映射域名
Connection: close
Accept-Encoding: gzip, deflate
Accept: */*

即可完成认证,注意数据包后加两个换行符

认证后支持任意传输层协议的通信
板凳
发表于 2018-9-11 08:10:24 | 只看该作者
C语言示例直接调用 openSite(全映射域名); 进行完成认证,其它语言类同


  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <sys/types.h>
  5. #include <sys/socket.h>
  6. #include <arpa/inet.h>
  7. #include <netinet/in.h>
  8. #include <unistd.h>
  9. int openSite(char *argv){
  10.    
  11.     int sockfd;
  12.     int len;
  13.     struct sockaddr_in address;
  14.     int result;
  15.     char httpstring[100];
  16.     sprintf(httpstring,"GET / HTTP/1.1\r\n"
  17.           "Host: %s\r\n"
  18.           "Connection: Close\r\n\r\n",argv);
  19.     char ch;
  20.     sockfd = socket(AF_INET, SOCK_STREAM, 0);
  21.     address.sin_family = AF_INET;
  22.     address.sin_addr.s_addr = inet_addr(argv);
  23.     address.sin_port = htons(8080);
  24.     len = sizeof(address);
  25.     result = connect(sockfd,(struct sockaddr *)&address,len);
  26.     if(result == -1){
  27.        perror("oops: client");
  28.        return 1;
  29.     }
  30.     write(sockfd,httpstring,strlen(httpstring));
  31.     while(read(sockfd,&ch,1)){
  32.       printf("%c", ch);
  33.     }
  34.     close(sockfd);
  35.     printf("\n");
  36.     return 0;
  37. }
复制代码


地板
 楼主| 发表于 2018-9-11 13:36:11 | 只看该作者
nat123jia 发表于 2018-9-11 07:54
单片机如果是linux系统可以使用命令进行认证:
wget  "http://映射后域名:任意端口"

非常感谢,测试通过,完美解决!

5#
 楼主| 发表于 2018-9-11 15:39:35 | 只看该作者
nat123jia 发表于 2018-9-11 08:10
C语言示例直接调用 openSite(全映射域名); 进行完成认证,其它语言类同

非常感谢,完美解决,这个方法,完美解决!
6#
发表于 2019-5-8 18:18:28 | 只看该作者
nat123jia 发表于 2018-9-11 07:54
单片机如果是linux系统可以使用命令进行认证:
wget  "http://映射后域名:任意端口"

如果是其它系统可以直接TCP连接任意端口后,发送http数据包:
GET / HTTP/1.1
Host: 你的全映射域名
Connection: close
Accept-Encoding: gzip, deflate
Accept: */*

即可完成认证,注意数据包后加两个换行符

认证后支持任意传输层协议的通信


上面这个,我们这些菜鸟都不会弄。怎么搞
您需要登录后才可以回帖 登录 | 获得新生

本版积分规则

http穿透|80网站穿透|非80网站穿透|内网穿透路由器|内网穿透SVN|内网穿透FTP|内网穿透SSH|内网穿透远程桌面|nat123

GMT+8, 2025-5-10 00:09 , Processed in 0.101692 second(s), 14 queries .

Powered by Discuz! X3.1

© Comsenz Inc. | 反馈:natbbs#163.com(#换成@)

快速回复 返回顶部 返回列表