专栏中心

EEPW首页 > 专栏 > 一个简单的用C语言URL地址

一个简单的用C语言URL地址

发布人:电子禅石 时间:2015-05-23 来源:工程师 发布文章

用C 实现的一个URL解析的小程序。留个记录在这里。

#include "string.h"
#include "stdio.h"
char URL[]="http://bitgarden.test.wimang.com:80/hms/hardware/soft/updateSoft.do?softwareVersion=1.1&hardwareVersion=1.0";
//char URL[]="bitgarden.test.wimang.com:80/hms/hardware/soft/updateSoft.do?softwareVersion=1.1&hardwareVersion=1.0";
//char URL[]="bitgarden.test.wimang.com/hms/hardware/soft/updateSoft.do?softwareVersion=1.1&hardwareVersion=1.0";
char ADDR[30];
int PORT=0;
char GETContext[100]="0";

void getAddr(char *url,int len)
{
    char *storeAddr;
    int k=0;
    int m=0;
    static const char headline[]="http://";
    // 定位 开头
    if(strstr(url,headline) !=NULL)
    {
      storeAddr=&(url[sizeof(headline)]);
    }
    else
    {
        storeAddr=url;
    }
    
    if(strchr(storeAddr,':')!=NULL)
    {
        for(k=0;k<len;k++)
         {
            if(storeAddr[k]==':')
            {
            break;
            }
        }
        strncpy(ADDR,storeAddr,k);
        printf("HOSTis%s\r\n",ADDR);
        storeAddr=&(storeAddr[k]);//:80/hms
        PORT=atoi(storeAddr+1);
      /*for(m=0;m<len;m++)
         {
            if(storeAddr[m]=='/')
            {
            break;
            }
        }*/
      //  storeAddr=&(storeAddr[m]);// /hms
        storeAddr=strchr(storeAddr,'/');
        strcpy(GETContext,storeAddr);
        printf("port is %d\r\n",PORT) ;
        printf("GET %s\r\n",GETContext);
    }
  /*  else if(strchr(storeAddr,'/')!=NULL)
    {
            for(k=0;k<len;k++)
         {
            if(storeAddr[k]=='/')
            {
            break;
            }
        }
        strncpy(ADDR,storeAddr,k);
        printf("HOSTis%s\r\n",ADDR);
        PORT=80;
    }*/    
   
}

int main()
{
  getAddr(URL,strlen(URL)) ;    
}


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

黄仁勋回应DeepSeek冲击:算力需求将被推高 芯片反而更吃紧

ARM 体系结构

AIX Reference for Sun Solaris Administrators.part3.rar

智能座舱架构与芯片-硬件篇

与产业领袖同行:大联大商贸中国区总裁沈维中畅谈数字化浪潮下的“智变”之路

2025-03-20

智能座舱架构与芯片-软件篇

嵌入式Linux网络开发 下

视频 2009-10-26

谷歌宣布达成规模最大的​一笔收购

智能计算 2025-03-20

继电器开关电路

毫米波雷达技术革新:解读IWRL6432 WCSP单芯片传感器的突破与应用

嵌入式Linux内核裁减与移植 下

视频 2009-10-26

FPGA在视频处理领域的应用 上

视频 2009-10-26

嵌入式Linux内核裁减与移植 上

视频 2009-10-26

TI超小型MCU:1.38mm²如何重塑嵌入式未来

ARM 9嵌入式系统设计与开发教程

嵌入式Linux网络开发 中

视频 2009-10-26

电压表

微波上变频技术的新突破:ADMV1013S-CSL芯片解析与未来应用

模拟技术 2025-03-20

AIX Reference for Sun Solaris Administrators.part1.rar

AIX Reference for Sun Solaris Administrators.part2.rar

更多 培训课堂
更多 焦点
更多 视频

技术专区