首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么实现。通过查找指定开头 然后通过指定结束符提取内容

2013-10-31 
如何实现。。。通过查找指定开头 然后通过指定结束符提取内容GET /intf.php?methodDownload.getMetaInfo&qid

如何实现。。。通过查找指定开头 然后通过指定结束符提取内容
GET /intf.php?method=Download.getMetaInfo&qid=18007838&devtype=UI&v=3.3.0.2061&devid=f28ef391b6ee760bcce7238e05c4c033&devname=&rtick=10646088&sign=e72fdc62c1f2767572bbba5e243f3388&ofmt=xml&pid=home& HTTP/1.1
Accept: */*
User-Agent: UI/3.3.0.2061
Cookie: fhash=85d8540c0d259eeebedfa7db25f64af21c046543; nid=13541871622909506; dt=5_5.4cc06440e545e4f488afdec9efdbd23f; token=3738278795.5.0c58a7fc.18007838.1382078555; 
Accept-Encoding: gzip
Host: dl5.yunpan.360.cn
Connection: Keep-Alive
Cache-Control: no-cache

比如上面的数据,我想查找 Cookie:  找到这个的时候 根据 \r\n 作为结束来提取内容,比如提取出来的就是:fhash=85d8540c0d259eeebedfa7db25f64af21c046543; nid=13541871622909506;

只有比较笨的实现,想看看比较好的实现
[解决办法]
解析这些xml文件!没办法了就这样解析吧!如果你只是要那么一段数据的话,
也可以通过关键字 Cookies来操作也是可以的!
[解决办法]

//GET /intf.php?method=Download.getMetaInfo&qid=18007838&devtype=UI&v=3.3.0.2061&devid=f28ef391b6ee760bcce7238e05c4c033&devname=&rtick=10646088&sign=e72fdc62c1f2767572bbba5e243f3388&ofmt=xml&pid=home& HTTP/1.1
//Accept: */*
//User-Agent: UI/3.3.0.2061
//Cookie: fhash=85d8540c0d259eeebedfa7db25f64af21c046543; nid=13541871622909506; dt=5_5.4cc06440e545e4f488afdec9efdbd23f; token=3738278795.5.0c58a7fc.18007838.1382078555;
//Accept-Encoding: gzip
//Host: dl5.yunpan.360.cn
//Connection: Keep-Alive
//Cache-Control: no-cache
//
//比如上面的数据,我想查找 Cookie:  找到这个的时候 根据 \r\n 作为结束来提取内容,比如提取出来的就是:
//fhash=85d8540c0d259eeebedfa7db25f64af21c046543; nid=13541871622909506; dt=5_5.4cc06440e545e4f488afdec9efdbd23f; token=3738278795.5.0c58a7fc.18007838.1382078555;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLEN 1000
char s[]=
"GET /intf.php?method=Download.getMetaInfo&qid=18007838&devtype=UI&v=3.3.0.2061&devid=f28ef391b6ee760bcce7238e05c4c033&devname=&rtick=10646088&sign=e72fdc62c1f2767572bbba5e243f3388&ofmt=xml&pid=home& HTTP/1.1\r\n"
"Accept: */*\r\n"
"User-Agent: UI/3.3.0.2061\r\n"
"Cookie: fhash=85d8540c0d259eeebedfa7db25f64af21c046543; nid=13541871622909506; dt=5_5.4cc06440e545e4f488afdec9efdbd23f; token=3738278795.5.0c58a7fc.18007838.1382078555;\r\n"
"Accept-Encoding: gzip\r\n"
"Host: dl5.yunpan.360.cn\r\n"
"Connection: Keep-Alive\r\n"
"Cache-Control: no-cache\r\n"
"\r\n";
char *p,*q;
char t[MAXLEN];
int main() {
    p=strstr(s,"Cookie: ");
    if (NULL==p) return 1;
    q=strstr(p,"\r\n");
    if (NULL==q) return 2;
    strncpy(t,p+8,__min(MAXLEN-1,q-(p+8)));t[MAXLEN-1]=0;
    printf("[%s]\n",t);
    return 0;
}
//[fhash=85d8540c0d259eeebedfa7db25f64af21c046543; nid=13541871622909506; dt=5_5.4cc06440e545e4f488afdec9efdbd23f; token=3738278795.5.0c58a7fc.18007838.1382078555;]
//

热点排行