Chinaunix首页 | 论坛 | 博客
  • 博客访问: 415190
  • 博文数量: 99
  • 博客积分: 4230
  • 博客等级: 上校
  • 技术积分: 1026
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-21 14:52
文章分类

全部博文(99)

文章存档

2011年(1)

2010年(1)

2008年(13)

2007年(28)

2006年(45)

2005年(11)

我的朋友

分类: C/C++

2005-07-08 13:12:18

日志结构如

202.108.11.232 - - [07/Jul/2005:00:00:59 +0800] "GET /sl/detail.php?actt=13&id=239552&p_id=561412 HTTP/1.1" 200 13262 "-" "Baiduspider+(+)" nbchem.com text/html "/usr/home/uz60g1/htdocs/sl/detail.php"
202.108.11.232 - - [07/Jul/2005:00:01:06 +0800] "GET /news/detail.php?id=22581 HTTP/1.1" 200 28184 "-" "Baiduspider+(+)" nbchem.com text/html "/usr/home/uz60g1/htdocs/news/detail.php"

进行分析后导入到mysql数据的辅助程序

#include
#include
#include
#include
#include
void empty(char *a[],int b)
  {
    int i;
    for(i=0;i      *a[i]='';
  }
main()
  {
    long i=0;
    int j=0;
    int p=1;
    int k=11;
    int hu=0;
    long ip=0;
    long yu=0;
    int fly=0;
    int label1,label2,label3,label4,label5;
    int lab1,lab2,lab3,lab4,lab5;
    int la1,la2,la3,la4,la5;
    int handle;
    int via=0;
    double xx,xx1,xx2;
    struct stat buffer;
    char afile[200];
    char chn[50000];
    char ips[20];
    char time[50];
    char way[5];
    char visit[100];
    char filetype[50];
    char time1[50];
    char day[5];
    char mon[6];
    char yea[7];
    char hou[5];
    char min[5];
    char sec[5];
    char ok;
    FILE *fp,*fa;
    textcolor(k);
    label1=label2=label3=label4=label5=0;
    lab1=lab2=lab3=lab4=lab5=0;
    la1=la2=la3=la4=la5=0;
    while(1)
      {
        handle=open(afile,O_RDONLY);
        printf(" please enter a file : (like f:/data/access1.c) ");
        scanf("%s",afile);
        fstat(handle, &buffer);
        yu=buffer.st_size;
        if(yu>0)
          break;
      }
    fp=fopen(afile,"rt");
    fa=fopen("f:\ha.txt","wt+");
    printf("%ld ",yu);
    for(i=0;i      {
        ok=fgetc(fp);
        if(ok==10)
          {
            xx1=i;
            xx2=yu;
            xx=(xx1/xx2)*100;
            textcolor(154);
            cprintf("\b%ld,%ld,%f %",ip,i,xx);
            /*--init the arrays--*/
            for(fly=0;fly<20;fly++)
              ips[fly]='';
            for(fly=0;fly<50;fly++)
              time[fly]='';
            for(fly=0;fly<5;fly++)
              way[fly]='';
            for(fly=0;fly<100;fly++)
              visit[fly]='';
            for(fly=0;fly<50;fly++)
              filetype[fly]='';
            for(fly=0;fly<50;fly++)
              time1[fly]='';
            for(fly=0;fly<5;fly++)
              {
                day[fly]='';
                hou[fly]='';
                min[fly]='';
                sec[fly]='';
              }
            for(fly=0;fly<6;fly++)
              mon[fly]='';
            for(fly=0;fly<7;fly++)
              yea[fly]='';
            label1=label2=label3=label4=label5=0;
            lab1=lab2=lab3=lab4=lab5=0;
            la1=la2=la3=la4=la5=0;
            /*--array devide start!!--*/
            for(fly=0;fly              {
                if(label1==0)
                  {
                    if(chn[fly]==' ')
                      label1=1;
                    else
                      {
                        ips[lab1]=chn[fly];
                        lab1++;
                      }
                  }
                else if(label2==0)
                  {
                    if(la1==0)
                      {
                        if(chn[fly]=='[')
                          la1=1;
                      }
                    else if(la1==1)
                      {
                        if(chn[fly]==' ')
                          label2=1;
                        else
                          {
                            time[lab2]=chn[fly];
                            lab2++;
                          }
                      }
                  }
                else if(label3==0)
                  {
                    if(la2==0)
                      {
                        if(chn[fly]=='"')
                          la2=1;
                      }
                    else if(la2==1)
                      {
                        if(chn[fly]==' ')
                          label3=1;
                        else
                          {
                            way[lab3]=chn[fly];
                            lab3++;
                          }
                      }
                  }
                else if(label4==0)
                  {
                    if(la3==0)
                      {
                        if(chn[fly-6]=='h')
                          if(chn[fly-5]=='t')
                            if(chn[fly-4]=='d')
                              if(chn[fly-3]=='o')
                                if(chn[fly-2]=='c')
                                  if(chn[fly-1]=='s')
                                    if(chn[fly]=='/')
                                      la3=1;
                      }
                    else if(la3==1)
                      {
                        if(chn[fly]=='"')
                          label4=1;
                        else
                          {
                            visit[lab4]=chn[fly];
                            lab4++;
                          }
                      }
                  }
              }
            for(la4=0;la4              {
                if(visit[la4]=='.')
                  la5=la4;
              }
            if(la5==0)
              {
                filetype[0]='p';
                filetype[1]='h';
                filetype[2]='p';
              }
            else
              {
                for(la4=(la5+1);la4                  filetype[la4-la5-1]=visit[la4];
              }
            for(lab5=0;lab5              {
                if(lab5<2)
                  day[lab5]=time[lab5];
                else if((lab5>2)&&(lab5<6))
                  mon[lab5-3]=time[lab5];
                else if((lab5>6)&&(lab5<11))
                  yea[lab5-7]=time[lab5];
                else if((lab5>11)&&(lab5<14))
                  hou[lab5-12]=time[lab5];
                else if((lab5>14)&&(lab5<17))
                  min[lab5-15]=time[lab5];
                else if((lab5>17)&&(lab5<20))
                  sec[lab5-18]=time[lab5];

              }
            if(mon[0]=='F')
              if(mon[1]=='e')
                if(mon[2]=='b')
                  {
                    mon[0]='0';
                    mon[1]='2';
                    mon[2]='';
                  }
            if(mon[0]=='M')
              if(mon[1]=='a')
                if(mon[2]=='r')
                  {
                    mon[0]='0';
                    mon[1]='3';
                    mon[2]='';
                  }
            if(mon[0]=='A')
              if(mon[1]=='p')
                if(mon[2]=='r')
                  {
                    mon[0]='0';
                    mon[1]='4';
                    mon[2]='';
                  }
            if(mon[0]=='M')
              if(mon[1]=='a')
                if(mon[2]=='y')
                  {
                    mon[0]='0';
                    mon[1]='5';
                    mon[2]='';
                  }
            if(mon[0]=='J')
              if(mon[1]=='u')
                if(mon[2]=='n')
                  {
                    mon[0]='0';
                    mon[1]='6';
                    mon[2]='';
                  }
            if(mon[0]=='J')
              if(mon[1]=='u')
                if(mon[2]=='l')
                  {
                    mon[0]='0';
                    mon[1]='7';
                    mon[2]='';
                  }
            if(mon[0]=='A')
              if(mon[1]=='u')
                if(mon[2]=='g')
                  {
                    mon[0]='0';
                    mon[1]='8';
                    mon[2]='';
                  }
            if(mon[0]=='S')
              if(mon[1]=='e')
                if(mon[2]=='p')
                  {
                    mon[0]='0';
                    mon[1]='9';
                    mon[2]='';
                  }
            if(mon[0]=='O')
              if(mon[1]=='c')
                if(mon[2]=='t')
                  {
                    mon[0]='1';
                    mon[1]='0';
                    mon[2]='';
                  }
            if(mon[0]=="N")
              if(mon[1]=='o')
                if(mon[2]=='v')
                  {
                    mon[0]='1';
                    mon[1]='1';
                    mon[2]='';
                  }
            if(mon[0]=='D')
              if(mon[1]=='e')
                if(mon[2]=='c')
                  {
                    mon[0]='1';
                    mon[1]='2';
                    mon[2]='';
                  }
            if(mon[0]=='J')
              if(mon[1]=='a')
                if(mon[2]=='n')
                  {
                    mon[0]='0';
                    mon[1]='1';
                    mon[2]='';
                  }
            for(lab5=0;lab5<19;lab5++)
              {
                if(lab5<4)
                  time1[lab5]=yea[lab5];
                else if(lab5==4)
                  time1[lab5]='-';
                else if((lab5>4)&&(lab5<7))
                  time1[lab5]=mon[lab5-5];
                else if(lab5==7)
                  time1[lab5]='-';
                else if((lab5>7)&&(lab5<10))
                  time1[lab5]=day[lab5-8];
                else if(lab5==10)
                  time1[lab5]=' ';
                else if((lab5>10)&&(lab5<13))
                  time1[lab5]=hou[lab5-11];
                else if(lab5==13)
                  time1[lab5]=':';
                else if((lab5>13)&&(lab5<16))
                  time1[lab5]=min[lab5-14];
                else if(lab5==16)
                  time1[lab5]=':';
                else if((lab5>16)&&(lab5<19))
                  time1[lab5]=sec[lab5-17];
              }
            /*--array devide end!!--*/
            textcolor(26);
            fputs(ips,fa);
            fputc(' ',fa);
            fputs(time1,fa);
            fputc(' ',fa);
            fputs(way,fa);
            fputc(' ',fa);
            fputs(visit,fa);
            fputc(' ',fa);
            fputs(filetype,fa);
            fputc(' ',fa);
            /*
            cprintf("%s ",chn);
            cprintf(" ip  %s,time %s,method %s,visit %s,filetype %s ",ips,time1,way,visit,filetype);
            */
            /*empty(chn,p);*/
            for(fly=0;fly              chn[fly]='';
            p=0;
            ip++;
            sleep(0);
          }
        else
          {
            chn[p]=ok;
            p++;
          }
      }
    printf(" program end!!");
    fclose(fa);
    fclose(fp);
    getch();
  }

阅读(860) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~