亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? url.c

?? ping代碼的封裝
?? C
字號:
/** * URL Processing * * Copyright (C) 2000, 2001, 2002 by * Jeffrey Fulmer - <jdfulmer@armstrong.com> * This file is distributed as part of Siege  * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  * */#ifdef  HAVE_CONFIG_H# include <config.h>#endif/*HAVE_CONFIG_H*/ #include <stdio.h>#include <stdlib.h>#ifdef STDC_HEADERS# include <string.h>#else# ifndef HAVE_STRCHR#  define strchr index#  define strrchr rindex# endifchar *strchr (), *strrchr ();# ifndef HAVE_MEMCPY#  define memcpy(d, s, n) bcopy ((s), (d), (n))#  define memmove(d, s, n) bcopy ((s), (d), (n))# endif#endif#include <errno.h>#include <url.h>#include <util.h>#include <setup.h>/*HARDCODED ALERT*/#define PLENGTH 84  /* length of the *prot[] array *//**  * ALERT: using hardcoded array lengths below, * if you change this array, then redefine PLENGTH *  * Currently http(prot[25]) and https(prot[26]) are  * the only supported protocols.  But all w3c supported  * protocols are listed for URL evaluation. */  static char *prot[] = {  "about:",      "addrbook:",  "acap:",      "afp:",  "afs:",        "callto:",    "chttp:",     "cid:",  "clsid:",      "data:",      "date:",      "DAV:",  "dns:",        "eid:",       "fax:",       "file:",  "finger:",     "freenet:",   "ftp:",       "gopher:",  "gsm:",        "h323:",      "h324:",      "hdl:",  "hnews:",      "http:",      "https:",     "iioploc:",  "ilu:",        "imap:",      "IOR:",       "irc:",  "isbn:",       "java:",      "JavaRMI:",   "javascript:",  "jdbc:",       "ldap:",      "lid:",       "lifn:",  "livescript:", "lrq:",       "mailto:",    "mailserver:",  "md5:",        "mid:",       "mocha:",     "modem:",  "news:",       "nfs:",       "nntp:",      "opaquelocktoken:"  "path:",       "phone:",     "pop:",       "pop3:",  "printer:",    "prospero:",  "res:",       "rtsp:",  "rvp:",        "rwhois:",    "rx:",        "sdp:",  "sip:",        "shttp:",     "snews:",     "STANF:",  "t120:",       "tel:",       "telephone:", "telnet:",  "tip:",        "tn3270:",    "tv:",        "uuid:",  "urn:",        "vemmi:",     "videotex:",  "view:",  "wais:",       "whois++:",   "whodp:",     "z39.50r:",  "z39.50s:"  };/** * int value of the length of the protocol  * string passed to the function. */     intprotocol_length( char *url ){  int x;  /**    * hardcoded protocol length!! see explanation above...   */  for( x = 0; x < PLENGTH; x ++ ){     if( strncasecmp( url, prot[x], strlen( prot[x] )) == 0 )      return strlen( prot[x] );  }   return 0;	}/** * If a person edits an html file on the * Microsoft platform and copies it to a  * UNIX server, we are left to deal with  * ^M chars messing with our minds... */char *trim( char *str ){  char *s=str;   if( str == NULL ) return NULL;   /* advance the ptr */  while( *s ) s++;   /* chomp the white space */  while( str < s && isspace( *( s-1 )))    *s-- = '\0';   *s = '\0';   return str; /* UNIX friendly */} /** * boolean, returns true if the protocol is  * supported by siege, false if it is not. */ intis_supported( char* url ){  if( strncasecmp( url, prot[25], strlen( prot[25] )) == 0 )    return TRUE;  if( strncasecmp( url, prot[26], strlen( prot[26] )) == 0 )    #ifdef HAVE_SSL      return TRUE;    #else      return FALSE;    #endif /* HAVE_SSL */  else    return FALSE;}/** * get_protocol * returns protocol char* */PROTOCOLget_protocol( const char *url ){  if( strncasecmp( url, prot[25], strlen( prot[25] )) == 0 )    return HTTP;  if( strncasecmp( url, prot[26], strlen( prot[26] )) == 0 )    #ifdef HAVE_SSL      return HTTPS;    #else      return HTTP;    #endif /* HAVE_SSL */  else    return UNSPRTD;}/** * get_default_port */intget_default_port( PROTOCOL p ){  if( p == HTTP )    return 80;  if( p == HTTPS )    #ifdef HAVE_SSL      return 443;    #else      return 80;    #endif /* HAVE_SSL */  else    return 80; }char *url_encode( char *str ){  int size = 0;  char *ch, *bk;  char *p, *buf;  static char unsafe[]     = "<>{}#%|\"\\^~[]`@:\033";  static char char2hex[16] = "0123456789ABCDEF";  bk = ch  = str;  do{    if( strchr( unsafe, *ch ))      size += 2;    ch++; size ++;  } while( *ch );  buf = (char*)malloc( size +1 );  p   = buf;  ch  = bk;  do{    if( strchr( unsafe, *ch )){      const char c = *ch;      *p++ = '%';      *p++ = char2hex[(c >> 4) & 0xf];      *p++ = char2hex[c & 0xf];    }    else{      *p++ = *ch;    }    ch ++;  } while( *ch );  *p = '\0';  return( buf );}/** * process_post_data * populates URL->postdata with POST information * returns int */char *process_post_data( char *datap ){  char *post_data;  for( ; isspace(*datap); datap++ ){    /* Advance past white space */  }  if( *datap == '<' ){    /* Get Data from file */  }  else{    return datap;  }}URLbuild_url( char *url ){  URL U;                   /* defined in setup.h  */  int one, two, thr, fou;  /* placement counters. */   char *post_cmd=NULL;     /* POST directive for server */  char *tmp;  post_cmd = strstr( url, " POST" );   if( post_cmd != NULL ){    /* How do we deal with handling the multi-headed url_t arrays */    U.calltype = URL_POST;    *post_cmd = 0;    post_cmd += 5;    U.postdata = (char*)strdup( process_post_data( post_cmd ));    U.postlen  = strlen( U.postdata );  }  else{    U.calltype   = URL_GET;    U.postdata   = NULL;    U.posttemp   = NULL;    U.postlen    = 0;  }  if(( one = protocol_length( url )) > 0 && is_supported( url ) == TRUE ){    one += 2;  }  else if(( one = protocol_length( url )) > 0 && is_supported( url ) == FALSE ){    U.protocol = UNSPRTD;    one += 2;    perror( "unsupported protocol" );  }  else{    /* we are dealing with who knows what */    tmp = (char*)strstr( url, "://" );    if( tmp != NULL ){      one = (strlen(url) - (strlen(tmp) - 3 ));    }    else{      one = 0;  /* no specified protocol, assuming http: */    }  }  two = one;  while( url[two] && url[two] != ':' && url[two] != '/' ) two++;   if( url[two] == ':' ){    fou = two;    while( url[two] && url[two] != '/' ){      two++;    }  }  else{ fou = two; }  if( url[two] == '/' ){ thr = two; }  else                 { thr = strlen( url ); }   /* here we piece it all together */  if( one == 0 ){    U.protocol = HTTP;  }  else{    U.protocol = get_protocol( url );  }  U.hostname   = (char*)strdup(substring( url, one, ( fou - one )));  if( fou == two ){    U.port = get_default_port( U.protocol );  }  else{    U.port = atoi(substring( url, fou+1, (thr-(fou+1))));  }  if(( U.pathname = (char *)strdup(substring( url, thr, strlen( url )))) == NULL ){    U.pathname = (char *)strdup( "/" );   }  U.pathname = (strlen(U.pathname)==0)?strcpy(U.pathname, "/"):U.pathname;   trim( U.pathname );  free( url );   return( U );}/** * add_url * parses char * then populates and  * returns a URL with appropriate data. */URLadd_url( char *url ){  return build_url( url );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产传媒欧美日韩成人| 美女www一区二区| 久久久久久毛片| 欧美mv日韩mv国产网站app| 欧美一区二区三区四区视频 | 欧美一区二区在线免费观看| 91国偷自产一区二区开放时间| 色久优优欧美色久优优| 在线免费观看不卡av| 欧美亚州韩日在线看免费版国语版 | 亚洲精品视频观看| 一区二区三区91| 三级久久三级久久| 九色|91porny| 99精品视频一区二区三区| 色婷婷国产精品综合在线观看| 色婷婷久久久亚洲一区二区三区| 色菇凉天天综合网| 777xxx欧美| 久久久精品国产免费观看同学| 中文字幕一区二区在线观看| 亚洲一区av在线| 国产真实乱对白精彩久久| 国产盗摄一区二区三区| 在线这里只有精品| 日韩一级黄色片| 中文字幕不卡在线播放| 亚洲国产中文字幕在线视频综合| 高清国产一区二区三区| 国产精品一级黄| 色哟哟一区二区| 日韩精品中文字幕在线不卡尤物| 中文在线免费一区三区高中清不卡| 亚洲欧洲综合另类| 美女免费视频一区二区| 91天堂素人约啪| 日韩欧美中文一区二区| 中文字幕一区二区在线播放| 亚洲va韩国va欧美va精品| 国产一区二区调教| 欧美日韩国产高清一区二区 | 一区二区在线免费观看| 久久精品国产999大香线蕉| 99视频热这里只有精品免费| 日韩女同互慰一区二区| 亚洲手机成人高清视频| 精品一区二区在线观看| 欧美视频在线一区| 欧美国产日本韩| 日韩在线卡一卡二| 日本精品视频一区二区三区| 久久噜噜亚洲综合| 丝袜亚洲另类欧美综合| 色婷婷亚洲一区二区三区| 久久先锋影音av鲁色资源| 亚洲午夜精品17c| 91免费视频大全| 国产亚洲欧美中文| 久久99国产精品尤物| 欧美日韩精品专区| 亚洲最大色网站| 99精品国产热久久91蜜凸| 欧美精品一区二区在线观看| 日本vs亚洲vs韩国一区三区| 欧美日韩和欧美的一区二区| 亚洲欧美日韩在线不卡| 成人丝袜高跟foot| 国产亚洲精品bt天堂精选| 久久丁香综合五月国产三级网站| 欧美吻胸吃奶大尺度电影| 中文字幕一区av| 91在线一区二区三区| 成人欧美一区二区三区| 成人午夜av电影| 中文字幕在线不卡国产视频| 国产91露脸合集magnet| 中文字幕av免费专区久久| 国产99精品视频| 欧美极品aⅴ影院| 菠萝蜜视频在线观看一区| 国产精品毛片高清在线完整版| 成人视屏免费看| 中文字幕日韩一区二区| 色老汉一区二区三区| 亚洲综合在线观看视频| 欧美日韩中文字幕一区二区| 亚洲成va人在线观看| 欧美日韩美少妇| 免费看欧美美女黄的网站| 精品成人在线观看| 成人av在线观| 亚洲主播在线观看| 日韩一二在线观看| 国产精品一区二区视频| 亚洲国产精品传媒在线观看| 91捆绑美女网站| 日韩成人一区二区三区在线观看| 精品国产伦理网| 成人一级片在线观看| 亚洲精品水蜜桃| 制服丝袜激情欧洲亚洲| 国产乱码精品一品二品| 亚洲欧美日韩国产手机在线| 欧美精品自拍偷拍| 国产综合色视频| 亚洲人成精品久久久久久| 91精品国产综合久久婷婷香蕉| 久久66热偷产精品| 最近中文字幕一区二区三区| 在线不卡的av| www.亚洲精品| 麻豆专区一区二区三区四区五区| 国产免费成人在线视频| 欧美在线免费视屏| 国产成人在线免费| 亚洲电影一区二区| 久久精品视频一区| 欧美日韩一级二级三级| 国产成人av在线影院| 性欧美疯狂xxxxbbbb| 国产精品色婷婷久久58| 制服丝袜亚洲网站| 95精品视频在线| 国产乱子伦一区二区三区国色天香| 亚洲精品自拍动漫在线| 久久婷婷成人综合色| 欧美日韩国产三级| 成人黄色av电影| 国产在线一区观看| 男男gaygay亚洲| 亚洲综合自拍偷拍| 亚洲三级在线观看| 国产午夜精品在线观看| 欧美一级片在线看| 欧美色图在线观看| 色综合天天综合网天天看片| 国产白丝精品91爽爽久久| 毛片av一区二区三区| 午夜欧美2019年伦理| 亚洲免费观看在线视频| 国产精品白丝在线| 国产日韩av一区| 亚洲精品一区二区精华| 精品久久久久一区二区国产| 欧美精品久久99久久在免费线 | 日韩视频免费观看高清在线视频| 色婷婷国产精品| 色欧美片视频在线观看| 91亚洲永久精品| 91美女在线看| 91麻豆产精品久久久久久| 波多野结衣中文字幕一区| 丁香啪啪综合成人亚洲小说| 国产成人亚洲综合色影视| 国产精品一区二区三区网站| 国产精品99精品久久免费| 国产在线视视频有精品| 国产成人午夜高潮毛片| 高清免费成人av| av在线不卡免费看| 一本大道久久a久久精二百| 91成人国产精品| 欧美日韩一区在线观看| 欧美精品第1页| 欧美大白屁股肥臀xxxxxx| 精品国产免费视频| 日本一区二区三区视频视频| 国产色产综合色产在线视频 | 欧美日韩一级黄| 日韩一区二区视频在线观看| 精品久久人人做人人爰| 国产亚洲成av人在线观看导航 | 日本高清无吗v一区| 欧美日韩视频在线一区二区| 日韩一区二区三区在线| 国产午夜精品理论片a级大结局| 中文字幕高清不卡| 亚洲一区视频在线观看视频| 日本美女一区二区三区| 风间由美中文字幕在线看视频国产欧美| 国产99久久久久久免费看农村| 91性感美女视频| 欧美一卡2卡三卡4卡5免费| 久久先锋影音av| 亚洲第一成年网| 国模少妇一区二区三区| 99精品欧美一区二区三区小说 | 国产欧美日韩一区二区三区在线观看| 国产精品免费aⅴ片在线观看| 亚洲日本在线看| 另类小说图片综合网| 成人激情av网| 欧美一级理论性理论a| 中文字幕精品三区| 日韩精品1区2区3区| 成人av在线资源网| 日韩欧美精品在线视频| 亚洲人吸女人奶水| 国产福利一区二区| 777a∨成人精品桃花网|