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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? davsample.c

?? www工具包. 這是W3C官方支持的www支撐庫. 其中提供通用目的的客戶端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* ** HTDAV test file **** Using this program, you may test all WebDAV high level functions available ** in libwww, and also test your webserver, if you want. **** Authors: **      MKP     Manuele Kirsch Pinheiro (Manuele.Kirsch_Pinheiro@inrialpes.fr, manuele@inf.ufrgs.br)**              _ Project CEMT  (INRIA Rhone-Alpes,France / UFRGS-II,Brazil) _**** History:**      fev, 2002       created                 MKP**                                ** $Id: davsample.c,v 1.4 2002/05/30 18:08:56 kirschpi Exp $*/#include "WWWLib.h"#include "WWWInit.h"#include "WWWApp.h"#include "HTDAV.h"                /* here - WebDAV high level functions*/#define APP_NAME                "DAVSample"#define APP_VERSION             "2.0"#define ERR_UNKNOWN               0x0#define ERR_FATAL                 0x1#define ERR_NON_FATAL             0x2#define ERR_WARN                  0x4#define ERR_INFO                  0x8/***  command line struct */typedef struct _cmdline {    char   method;    int    func;    char * D;    char * I;    char * T;    char   O;        char * request_uri;    char * base_str;    char * arg1;    char *arg2;} Cmdline;/* ** callbacks */PRIVATE HTNetAfter terminate_handler;PRIVATE HTNetAfter error_callback; PRIVATE int printer (const char * fmt, va_list pArgs);PRIVATE int tracer (const char * fmt, va_list pArgs);/*** prototypes */ PRIVATE void Init (void);PRIVATE void my_headers (HTRequest *request);PRIVATE char * create_body (char * owner);PRIVATE char * create_propbody (char * prop);PRIVATE HTRequest * create_request (void);PRIVATE BOOL lock_request (Cmdline * arg); PRIVATE BOOL propfind_request (Cmdline * arg); PRIVATE BOOL unlock_request (Cmdline * arg); PRIVATE BOOL proppatch_request(Cmdline * arg); PRIVATE BOOL mkcol_request (Cmdline * arg); PRIVATE BOOL copy_request (Cmdline * arg); Cmdline * handle_args (int argc, char **argv);/* -------------------------------------------------------------------------------- * *                                 Filters                                          * * -------------------------------------------------------------------------------- *//*** printer : output messages function*/PRIVATE int printer (const char * fmt, va_list pArgs){    return (vfprintf(stdout, fmt, pArgs));}/*** trace : trace messages function*/PRIVATE int tracer (const char * fmt, va_list pArgs){    return (vfprintf(stderr, fmt, pArgs));}/*** request_terminater : global filter to delete the requests** Funtion's type : HTNetAfter*/ PRIVATE int terminate_handler (HTRequest * request, HTResponse * response,                               void * param, int status) {    my_headers(request);     if (response) {        HTPrint ("\tStatus:%d\n\tContent-length:%d\n\tIs Cachable:%c\n\tis Cached:%c\n\tReason: %s\n",\                  status, HTResponse_length(response),\                  (HTResponse_isCachable(response))?'Y':'N',\                  (HTResponse_isCached(response,YES))?'Y':'N', \                  (HTResponse_reason(response))?HTResponse_reason(response):"NULL");            HTPrint ("\tFormat : %s \n",(char *)HTAtom_name(HTResponse_format(response)));     }    else         HTPrint ("\tResponse NULL\n");        /* Terminate libwww */    HTProfile_delete();    exit(0);}/*** error_callback : global after filter to treat the request's errors** Function's type : HTNetAfter*/PRIVATE int error_callback (HTRequest * request, HTResponse * response,                                  void * param, int status) {    HTList * error_list = NULL;    HTError * error = NULL;        HTPrint ("%s: ERROR CALLBACK\n",APP_NAME);    HTPrint ("\trequest %s \n\tresponse %s \n\tstatus %d\n", \            (request)?"OK":"NULL",\            (response)?"OK":"NULL",status);        if (request) {        error_list = HTRequest_error (request);        while (error_list && (error = (HTError *) HTList_nextObject(error_list))) {            HTPrint ("\tError location %s\n",HTError_location(error));            switch (HTError_severity(error)) {                case ERR_UNKNOWN :                    HTPrint ("\tSeverity : UNKNOWN\n");                    break;                case ERR_FATAL :                    HTPrint ("\tSeverity : FATAL\n");                    break;                case ERR_NON_FATAL :                    HTPrint ("\tSeverity : NON FATAL\n");                    break;                case ERR_WARN :                    HTPrint ("\tSeverity : WARN\n");                    break;                case ERR_INFO :                    HTPrint ("\tSeverity : INFO\n");                    break;                default :                    HTPrint ("\tSeverity : %Xd\n",HTError_severity(error));                    break;           }            }    }    return HT_OK;}/* -------------------------------------------------------------------------------- * *                               Common Functions                                   * * -------------------------------------------------------------------------------- *//*** my_headers : shows anchor's headers** Parameters : HTRequest * request*/  PRIVATE void my_headers (HTRequest *request) {    HTAssoc * h = NULL;        HTAssocList * headers = NULL;     HTParentAnchor * anchor = NULL;    HTPrint ("%s: Searching headers...\n",APP_NAME);          anchor = HTRequest_anchor (request);    headers = HTAnchor_header(anchor);        HTPrint ("\tanchor %s\n",(anchor)?"OK":"NULL");          h = HTAssocList_nextObject(headers);    while (anchor && headers && h ) {       HTPrint ("\t%s : %s\n",HTAssoc_name(h),HTAssoc_value(h));       h = HTAssocList_nextObject(headers);    }}/*** Init : application start */ PRIVATE void Init (void) {    /* Create a new premptive client */    HTProfile_newNoCacheClient(APP_NAME, APP_VERSION);    /* Gotta set up our own traces */    HTPrint_setCallback(printer);    HTTrace_setCallback(tracer);    /* Add our own filter to update the history list */    HTNet_addAfter(terminate_handler, NULL, NULL, HT_ALL, HT_FILTER_LAST);    HTNet_addAfter(error_callback, NULL, NULL, HT_ERROR, HT_FILTER_LAST);     /* Set trace messages and alert messages*/#if 0    HTSetTraceMessageMask("spolc");#endif}PRIVATE HTRequest * create_request (void) {    HTRequest * me = HTRequest_new();    /* set output and debug streans */    HTRequest_setOutputStream(me, HTFWriter_new(me, stdout, YES));    HTRequest_setDebugStream(me, HTFWriter_new(me, stderr, YES));    HTRequest_setOutputFormat(me,HTAtom_for("text/xml"));    HTRequest_setDebugFormat(me,WWW_SOURCE);    return me;       }/* -------------------------------------------------------------------------------- * *                               XML Body functions                                 * * -------------------------------------------------------------------------------- */PRIVATE char * create_body (char * owner) {     char tmp[4096];     char * body = NULL;     char nl[3];          sprintf (nl,"%c%c",CR,LF);              if (owner && *owner) {         sprintf (tmp,"<?xml version=\"1.0\" encoding=\"utf-8\" ?>");         strcat (tmp,nl);         strcat (tmp,"<D:lockinfo xmlns:D=\"DAV:\">");         strcat (tmp,nl);         strcat (tmp,"    <D:lockscope><D:exclusive/></D:lockscope>");         strcat (tmp,nl);         strcat (tmp,"    <D:locktype><D:write/></D:locktype>");         strcat (tmp,nl);         strcat (tmp,"    <D:owner>");         strcat (tmp,nl);         strcat (tmp,"        <D:href>");         strcat (tmp,owner);         strcat (tmp,"</D:href>");         strcat (tmp,nl);         strcat (tmp,"    </D:owner>");         strcat (tmp,nl);         strcat (tmp,"</D:lockinfo>");         if ( (body = HT_MALLOC (strlen(tmp)+4)) != NULL)             sprintf (body,"%s%c",tmp,'\0');     }          return body;}PRIVATE char * create_propbody (char * prop) {     char tmp[5120];     char * body = NULL;     char nl[3];        sprintf (nl,"%c%c",CR,LF);              if (prop && *prop) {         sprintf (tmp,"<?xml version=\"1.0\" encoding=\"utf-8\" ?>");         strcat (tmp,nl);         strcat (tmp,"<D:propfind xmlns:D=\"DAV:\">");         strcat (tmp,nl);         if (!strcmp(prop,"allprop")) strcat (tmp,"<D:allprop />");         else if (!strcmp(prop,"propname")) strcat (tmp,"<D:propname />");          else strcat (tmp,prop);         strcat (tmp,nl);         strcat (tmp,"</D:propfind>");         if ( (body = HT_MALLOC (strlen(tmp)+4)) != NULL)             sprintf (body,"%s%c",tmp,'\0');     }          return body;}/* -------------------------------------------------------------------------------- * *                                WebDAV Methods                                    * * -------------------------------------------------------------------------------- *//*** LOCK requests*/PRIVATE BOOL lock_request (Cmdline * arg) {    HTDAVHeaders * headers = HTDAVHeaders_new();    HTRequest * request = create_request ();    HTAnchor * dst = HTAnchor_findAddress(arg->request_uri);    HTParentAnchor * src = NULL;    HTParentAnchor * base = NULL;    BOOL status = NO;    char * data = NULL;            if (arg->I) {        HTPrint ("Adding If header %s\n",arg->I);        HTDAV_setIfHeader (headers,arg->I);    }    if (arg->arg1)  {        data = create_body (arg->arg1);        HTPrint ("xml body  %s\n",data);                   /* chose the func */        if (arg->func==1) {            src = HTTmpAnchor(NULL);            HTAnchor_setDocument(src, data);            HTAnchor_setFormat(src, HTAtom_for ("text/xml"));            HTAnchor_setLength(src, strlen(data));        }     }    if (arg->base_str && *(arg->base_str))         base = (HTParentAnchor *) HTAnchor_findAddress(arg->base_str);    if (arg->D) HTDAV_setDepthHeader (headers,arg->D);    if (arg->T) HTDAV_setTimeoutHeader (headers,arg->T);    HTPrint ("function %d src? %s\n",arg->func,(src)?"yes":"no");    switch (arg->func) {        case 1: status = HTLOCKDocumentAnchor (request,dst,src,headers);                break;        case 2: status = HTLOCKAnchor (request,dst,data,headers);                break;        case 3: status = HTLOCKAbsolute (request,arg->request_uri,data,headers);                break;        case 4: status = HTLOCKRelative (request,arg->request_uri,base,data,headers);                break;    }    return status;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚瑟在线精品视频| 婷婷成人激情在线网| 欧美在线色视频| 久久不见久久见免费视频7| 亚洲三级电影全部在线观看高清| 日韩视频永久免费| 91成人在线观看喷潮| 成人小视频在线| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲成a天堂v人片| 一区二区视频在线| 欧美极品少妇xxxxⅹ高跟鞋 | 国产精品综合二区| 亚洲va国产va欧美va观看| 中文字幕精品在线不卡| 欧美成人video| 日韩一区二区影院| 欧美精品三级日韩久久| 91官网在线观看| 99久久综合色| www.欧美亚洲| 成人黄色国产精品网站大全在线免费观看 | 欧美精品一区二区久久婷婷| 欧美日韩一二区| 在线一区二区观看| 91麻豆swag| 91小视频在线观看| 91一区二区三区在线播放| 成人激情黄色小说| 成人av影院在线| av电影一区二区| www.99精品| 91浏览器打开| 91麻豆蜜桃一区二区三区| av电影在线观看完整版一区二区| 成人激情图片网| 99精品一区二区三区| av在线不卡电影| 色偷偷88欧美精品久久久| 96av麻豆蜜桃一区二区| 91丨porny丨蝌蚪视频| av电影天堂一区二区在线| 91欧美激情一区二区三区成人| 91在线观看地址| 欧美午夜精品电影| 欧美日韩国产天堂| 日韩一区二区三免费高清| 日韩欧美国产三级| 精品国产伦一区二区三区免费| 日韩免费高清av| 久久久精品综合| 亚洲欧美在线观看| 亚洲国产日韩综合久久精品| 日韩精品91亚洲二区在线观看| 日韩电影在线一区二区| 精品无人区卡一卡二卡三乱码免费卡| 久久疯狂做爰流白浆xx| 国产激情视频一区二区在线观看| 国产91露脸合集magnet| 99免费精品在线| 欧美日韩一区二区不卡| 日韩一区二区在线播放| 久久先锋影音av鲁色资源| 国产精品国产三级国产普通话99| 亚洲男同性恋视频| 日韩国产欧美在线播放| 国产99久久久精品| 精品视频免费看| 欧美精品一区二区三区很污很色的| 欧美国产成人精品| 亚洲高清免费在线| 国产寡妇亲子伦一区二区| 91网站最新地址| 日韩午夜av电影| 国产精品成人一区二区艾草 | 成人免费av在线| 欧美在线free| 久久免费看少妇高潮| 国产精品传媒视频| 麻豆精品在线观看| 99久久精品免费观看| 欧美一级国产精品| 国产精品久久久久久久久免费相片| 午夜国产精品影院在线观看| 国产精品18久久久久久久网站| 91久久免费观看| 久久久久久久久岛国免费| 亚洲国产乱码最新视频 | 偷偷要91色婷婷| 顶级嫩模精品视频在线看| 欧美日韩高清一区二区三区| 中文一区在线播放| 日本欧美一区二区三区乱码| 91浏览器打开| 久久久国际精品| 视频一区视频二区在线观看| 成人av网址在线观看| 欧美不卡视频一区| 亚洲国产欧美一区二区三区丁香婷| 国产一二三精品| 91精品国产综合久久久久久久久久| 国产精品麻豆视频| 国产一区二区在线观看视频| 制服丝袜国产精品| 亚洲国产成人精品视频| 成人动漫av在线| 久久久国产精品午夜一区ai换脸| 日韩国产在线观看| 欧美日韩精品电影| 亚洲一区二区三区自拍| 99久久精品一区二区| 国产欧美日韩另类一区| 精品一区二区在线免费观看| 欧美电影在线免费观看| 亚洲欧美日韩国产中文在线| 国产一区免费电影| 日韩一区二区在线播放| 爽好久久久欧美精品| 欧美三级乱人伦电影| 玉米视频成人免费看| 91在线你懂得| 亚洲视频在线一区二区| 成人激情午夜影院| 国产精品美女久久久久久久久| 狠狠色丁香久久婷婷综合_中| 日韩欧美一级二级三级| 麻豆精品国产传媒mv男同| 欧美肥妇free| 日韩av一区二区三区四区| 欧美日本精品一区二区三区| 午夜激情一区二区三区| 欧美日韩大陆一区二区| 午夜精品一区二区三区免费视频| 色94色欧美sute亚洲线路一ni| 最近中文字幕一区二区三区| 99精品视频一区| 亚洲精品视频观看| 欧美性视频一区二区三区| 亚洲一线二线三线视频| 欧美日韩综合一区| 婷婷丁香久久五月婷婷| 91精品国产91久久久久久一区二区 | 青青草国产精品亚洲专区无| 欧美卡1卡2卡| 狂野欧美性猛交blacked| 日韩欧美一级二级| 国产乱子伦视频一区二区三区 | 亚洲精品精品亚洲| 在线观看欧美黄色| 午夜精品福利一区二区蜜股av| 欧美一区三区四区| 国产一区二区按摩在线观看| 国产三级一区二区| 91一区二区三区在线观看| 亚洲观看高清完整版在线观看| 欧美日韩国产一级片| 精品一区二区三区视频在线观看| 久久婷婷久久一区二区三区| thepron国产精品| 午夜视频一区二区| 亚洲精品一区二区三区蜜桃下载 | 欧美一区二区三区色| 国产精品综合在线视频| 1区2区3区精品视频| 欧美日韩色综合| 国产在线视频精品一区| 国产精品成人免费在线| 欧美日韩在线一区二区| 国产一区二区在线观看免费| 亚洲欧美日韩系列| 欧美精品一卡两卡| 成人美女视频在线观看18| 一区二区三区四区在线播放| 日韩欧美你懂的| www.亚洲色图| 日韩黄色小视频| 国产精品成人免费| 欧美一区二区三级| 成人激情校园春色| 蜜芽一区二区三区| 亚洲人123区| 欧美电视剧免费观看| 色悠悠久久综合| 国产精品综合二区| 性做久久久久久久免费看| 欧美激情在线一区二区| 91精品免费观看| 91蜜桃在线免费视频| 韩国午夜理伦三级不卡影院| 亚洲免费成人av| 国产亚洲综合性久久久影院| 欧美日韩一区二区三区四区五区 | 日韩专区中文字幕一区二区| 中文字幕乱码亚洲精品一区| 欧美一区二区三区视频免费 | 欧美一级高清片在线观看| 91麻豆精东视频| 懂色av噜噜一区二区三区av | 欧美无砖砖区免费| 成人一区二区在线观看|