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

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

?? soap-cgi.tcl

?? Linux下的MSN聊天程序源碼
?? TCL
?? 第 1 頁 / 共 2 頁
字號(hào):
# SOAP-CGI.tcl - Copyright (C) 2001 Pat Thoyts <patthoyts@users.sf.net>## A CGI framework for SOAP and XML-RPC services from TclSOAP## -------------------------------------------------------------------------# This software 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 accompanying file `LICENSE'# for more details.# -------------------------------------------------------------------------#package provide SOAP::CGI 1.0namespace eval ::SOAP {    namespace eval CGI {	# -----------------------------------------------------------------	# Configuration Parameters	# -----------------------------------------------------------------	#   soapdir   - the directory searched for SOAP methods	#   xmlrpcdir - the directory searched for XML-RPC methods	#   logfile   - a file to update with usage data. 	#	#   This framework is such that the same tcl procedure can be called 	#   for both types of request. The result will be packaged correctly	#   So these variables can point to the _same_ directory.	#	# ** Note **	#   These directories will be relative to your httpd's cgi-bin	#   directory.	variable soapdir       "soap"	variable soapmapfile   "soapmap.dat"	variable xmlrpcdir     $soapdir	variable xmlrpcmapfile "xmlrpcmap.dat"	variable logfile       "rpc.log"		# -----------------------------------------------------------------	variable rcsid {	    $Id: SOAP-CGI.tcl 6394 2006-04-14 17:36:29Z tjikkun $	}	variable methodName  {}	variable debugging   0	variable debuginfo   {}	variable interactive 0		package require dom	package require SOAP	package require XMLRPC	package require SOAP::Utils        package require SOAP::http	catch {namespace import -force [namespace parent]::Utils::*}	namespace export log main    }}# -------------------------------------------------------------------------# Description:#   Maintain a basic call log so that we can monitor for errors and #   popularity.# Notes:#   This file will need to be writable by the httpd user. This is usually#   'nobody' on unix systems, so the logfile will need to be world writeable.#proc ::SOAP::CGI::log {protocol action result} {    variable logfile    catch {	if {[info exists logfile] && $logfile != {} && \		[file writable $logfile]} {	    set stamp [clock format [clock seconds] \		    -format {%Y%m%dT%H%M%S} -gmt true]	    set f [open $logfile "a+"]	    puts $f [list $stamp $protocol $action $result \		    $::env(REMOTE_ADDR) $::env(HTTP_USER_AGENT)]	    close $f	}    }}# -------------------------------------------------------------------------# Description:#   Write a complete html page to stdout, setting the content length correctly.# Notes:#   The string length is incremented by the number of newlines as HTTP content#   assumes CR-NL line endings.#proc ::SOAP::CGI::write {html {type text/html} {status {}}} {    variable debuginfo    # Do some debug info:    if {$debuginfo != {}} {	append html "\n<!-- Debugging Information-->"	foreach item $debuginfo {	    append html "\n<!-- $item -->"	}    }    # For errors, status should be "500 Reason Text"    if {$status != {}} {	puts "Status: $status"    }    puts "SOAPServer: TclSOAP/1.6"    puts "Content-Type: $type"    set len [string length $html]    puts "X-Content-Length: $len"    incr len [regexp -all "\n" $html]    puts "Content-Length: $len"    puts "\n$html"    catch {flush stdout}}# -------------------------------------------------------------------------# Description:#   Convert a SOAPAction HTTP header value into a script filename.#   This is used to identify the file to source for the implementation of#   a SOAP webservice by looking through a user defined map.#   Also used to load an equvalent map for XML-RPC based on the class name# Result:#   Returns the list for an array with filename, interp and classname elts.#proc ::SOAP::CGI::get_implementation_details {mapfile classname} {    if {[file exists $mapfile]} {	set f [open $mapfile r]	while {! [eof $f] } {	    gets $f line	    regsub "#.*" $line {} line                 ;# delete comments.	    regsub -all {[[:space:]]+} $line { } line  ;# fold whitespace	    set line [string trim $line]	    if {$line != {}} {		set line [split $line]		catch {unset elt}		set elt(classname) [lindex $line 0]		set elt(filename)  [string trim [lindex $line 1] "\""]		set elt(interp)    [lindex $line 2]		set map($elt(classname)) [array get elt]	    }	}	close $f    }        if {[catch {set map($classname)} r]} {	error "\"$classname\" not implemented by this endpoint."    }    return $r}proc ::SOAP::CGI::soap_implementation {SOAPAction} {    variable soapmapfile    variable soapdir    if {[catch {get_implementation_details $soapmapfile $SOAPAction} detail]} {	set xml [SOAP::fault "Client" \		"Invalid SOAPAction header: $detail" {}]	error $xml {} SOAP    }        array set impl $detail    if {$impl(filename) != {}} {	set impl(filename) [file join $soapdir $impl(filename)]    }    return [array get impl]}proc ::SOAP::CGI::xmlrpc_implementation {classname} {    variable xmlrpcmapfile    variable xmlrpcdir    if {[catch {get_implementation_details $xmlrpcmapfile $classname} r]} {	set xml [XMLRPC::fault 500 "Invalid classname: $r" {}]	error $xml {} XMLRPC    }    array set impl $r    if {$impl(filename) != {}} {	set impl(filename) [file join $xmlrpcdir $impl(filename)]    }    return [array get impl]}proc ::SOAP::CGI::createInterp {interp path} {    safe::setLogCmd [namespace current]::itrace    set slave [safe::interpCreate $interp]    safe::interpAddToAccessPath $slave $path    # override the safe restrictions so we can load our    # packages (actually the xml package files)    proc ::safe::CheckFileName {slave file} {	if {![file exists $file]} {error "file non-existent"}	if {![file readable $file]} {error "file not readable"}    }    return $slave}# -------------------------------------------------------------------------# Description:#   itrace prints it's arguments to stdout if we were called interactively.#proc ::SOAP::CGI::itrace args {    variable interactive    if {$interactive} {	puts $args    }}# Description:#   dtrace logs debug information for appending to the end of the SOAP/XMLRPC#   response in a comment. This is not allowed by the standards so is switched#   on by the use of the SOAPDebug header. You can enable this with:#     SOAP::configure -transport http -headers {SOAPDebug 1}#proc ::SOAP::CGI::dtrace args {    variable debuginfo    variable debugging    if {$debugging} {	lappend debuginfo $args    }}# -------------------------------------------------------------------------# Description:#   Handle UTF-8 and UTF-16 data and convert into unicode for DOM parsing#   as necessary.#proc ::SOAP::CGI::do_encoding {xml} {    if {[binary scan $xml ccc c0 c1 c2] == 3} {	if {$c0 == -1 && $c1 == -2} {	    dtrace "encoding: UTF-16 little endian"	    set xml [encoding convertfrom unicode $xml]	} elseif {$c0 == -2 && $c1 == -1} {	    dtrace "encoding: UTF-16 big endian"	    binary scan $xml S* xml	    set xml [encoding convertfrom unicode [binary format s* $xml]]	} elseif {$c0 == -17 && $c1 == -69 && $c2 == -65} {	    dtrace "encoding: UTF-8"	    set xml [encoding convertfrom utf-8 $xml]	}    }    return $xml}# -------------------------------------------------------------------------# Description:#   Handle incoming XML-RPC requests.#   We extract the name of the method and the arguments and search for#   the implementation in $::xmlrpcdir. This is then evaluated and the result#   is wrapped up and returned or a fault packet is generated.# Parameters:#   doc - a DOM tree constructed from the input request XML data.#proc ::SOAP::CGI::xmlrpc_call {doc {interp {}}} {    variable methodName    if {[catch {		set methodNode [selectNode $doc "/methodCall/methodName"]	set methodName [getElementValue $methodNode]	set methodNamespace {}	# Get the parameters.	set paramsNode [selectNode $doc "/methodCall/params"]	set argValues {}	if {$paramsNode != {}} {	    set argValues [decomposeXMLRPC $paramsNode]	}	catch {dom::DOMImplementation destroy $doc}	# Check for a permitted methodname. This is defined by being in the	# XMLRPC::export list for the given namespace. We must do this to	# prevent clients arbitrarily calling tcl commands.	#	if {[catch {	    interp eval $interp \		    set ${methodNamespace}::__xmlrpc_exports($methodName)	} fqdn]} {	    error "Invalid request: \		    method \"${methodNamespace}::${methodName}\" not found"\	}	# evaluate the method	set msg [interp eval $interp $fqdn $argValues]	# generate a reply packet	set reply [XMLRPC::reply \		[dom::DOMImplementation create] \		{urn:xmlrpc-cgi} "${methodName}Response" $msg]	set xml [dom::DOMImplementation serialize $reply]	regsub "<!DOCTYPE\[^>\]+>\n" $xml {} xml	catch {dom::DOMImplementation destroy $reply}    } msg]} {	set detail [list "errorCode" $::errorCode "stackTrace" $::errorInfo]	set xml [XMLRPC::fault 500 "$msg" $detail]	error $xml {} XMLRPC    }    # publish the answer    return $xml}# -------------------------------------------------------------------------# Description:#   Handle the Head section of a SOAP request. If there is a problem we #   shall throw an error.# Parameters:#   doc#   mandate - boolean: if true then throw an error for any mustUnderstand#proc ::SOAP::CGI::soap_header {doc {mandate 0}} {    dtrace "Handling SOAP Header"    set result {}    foreach elt [selectNode $doc "/Envelope/Header/*"] {	set eltName [dom::node cget $elt -nodeName]	set actor [getElementAttribute $elt actor]	dtrace "SOAP actor $eltName = $actor"	# If it's not for me, don't handle the header.	if {$actor == "" || [string match $actor \		"http://schemas.xmlsoap.org/soap/actor/next"]} {		    # Check for Mandatory Headers.	    set mustUnderstand [getElementAttribute $elt mustUnderstand]	    	    dtrace "SOAP mustUnderstand $eltName $mustUnderstand"	    # add to the list of suitable headers.	    lappend result [getElementName $elt] [getElementValue $elt]	    	    ## Until we know what to do with such headers, we will have to	    ## Fault.	    if {$mustUnderstand == 1 && $mandate == 1} {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产精品亚洲红杏| 亚洲成av人片在线观看| 亚洲一区二区视频在线| 一片黄亚洲嫩模| 国内精品伊人久久久久av影院 | 欧美大黄免费观看| 日韩精品中文字幕一区二区三区| 国产精品初高中害羞小美女文| 丝袜亚洲另类欧美| 懂色av一区二区三区免费观看| 99精品欧美一区二区三区综合在线| 欧美日韩视频在线一区二区| 中文欧美字幕免费| 日本欧美肥老太交大片| bt7086福利一区国产| 91精品综合久久久久久| 欧美精品一区二区三区视频| 亚洲精品久久久蜜桃| 国产一区美女在线| 欧美日韩国产一区| 中文字幕在线观看不卡视频| 奇米影视一区二区三区小说| 色婷婷av一区二区| 国产喂奶挤奶一区二区三区| 五月综合激情网| 色婷婷国产精品综合在线观看| 久久久.com| 美腿丝袜亚洲色图| 日本高清不卡aⅴ免费网站| 久久婷婷久久一区二区三区| 日韩精品成人一区二区在线| 色视频成人在线观看免| 亚洲国产成人私人影院tom| 蜜桃av一区二区| 欧美日韩精品一区二区天天拍小说| 国产精品日日摸夜夜摸av| 久久精品国产免费| 欧美日韩色综合| ww亚洲ww在线观看国产| 日日噜噜夜夜狠狠视频欧美人| 91碰在线视频| 国产精品久久夜| 国产九色精品成人porny| 日韩一区二区三区视频在线 | 99r国产精品| 国产午夜精品福利| 老司机精品视频导航| 欧美久久久久久久久久| 一区二区三区国产| 色婷婷综合久久久中文字幕| 久久久www免费人成精品| 亚洲电影一区二区三区| 日本电影欧美片| 亚洲欧美日韩电影| 成人免费高清视频| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产成人av影院| 久久先锋影音av鲁色资源| 激情av综合网| 欧美tickle裸体挠脚心vk| 午夜欧美大尺度福利影院在线看| 欧美午夜精品免费| 亚洲午夜久久久久久久久电影网| 在线视频观看一区| 亚洲1区2区3区视频| 欧美精品色一区二区三区| 三级亚洲高清视频| 欧美日韩精品免费观看视频| 亚洲成人在线免费| 在线综合亚洲欧美在线视频 | 久久久综合精品| 国产精品亚洲视频| 国产精品久久久久久户外露出| av色综合久久天堂av综合| 久久久www成人免费无遮挡大片| 国产成人丝袜美腿| 亚洲欧洲av另类| 91精品1区2区| 午夜精品久久久久久| 日韩欧美中文字幕精品| 午夜电影一区二区三区| 日韩视频中午一区| 国产精品自拍网站| 中文字幕日韩av资源站| 在线观看一区二区精品视频| 日韩精品每日更新| 精品少妇一区二区三区在线播放| 久久成人免费网| 欧美国产丝袜视频| 色综合视频一区二区三区高清| 亚洲一区二区高清| 欧美一级片在线观看| 国产乱妇无码大片在线观看| 精品国产乱码久久久久久1区2区| 国产精品中文欧美| 亚洲伦在线观看| 欧美精选午夜久久久乱码6080| 加勒比av一区二区| 中文字幕欧美一| 欧美久久久久久久久久| 久久99国产乱子伦精品免费| 久久久久久久久久久黄色| 99vv1com这只有精品| 首页欧美精品中文字幕| 国产亚洲精品久| 日本高清无吗v一区| 九九精品视频在线看| 欧美激情中文字幕一区二区| 在线看国产一区| 国产在线精品免费av| 亚洲精品视频在线观看网站| 日韩一区和二区| 99久久精品国产麻豆演员表| 亚洲自拍偷拍网站| 欧美一级高清片| 99精品视频在线观看| 久久成人麻豆午夜电影| 日韩理论片中文av| 欧美成人精品3d动漫h| 91免费版在线| 欧美aⅴ一区二区三区视频| 国产精品久久夜| 日韩欧美不卡在线观看视频| 99re视频精品| 久久99精品视频| 亚洲人123区| 2020国产精品久久精品美国| 欧美色图激情小说| 国产成人亚洲综合a∨婷婷图片| 亚洲高清三级视频| 国产欧美一区二区精品性色超碰| 欧美一区二区三区日韩视频| 在线影视一区二区三区| 成人黄色综合网站| 国产精品中文字幕欧美| 久久精品久久99精品久久| 爽好久久久欧美精品| 一区av在线播放| 亚洲免费观看在线观看| 国产女主播视频一区二区| 久久夜色精品国产欧美乱极品| 日韩午夜av电影| 欧美一区二区性放荡片| 欧美精品三级日韩久久| 欧美日韩国产精选| 欧美亚洲国产一区二区三区| 在线一区二区观看| 91一区二区三区在线播放| 不卡区在线中文字幕| 岛国精品在线观看| 国产福利视频一区二区三区| 国产精品资源在线| 国产精品亚洲一区二区三区在线| 国内不卡的二区三区中文字幕 | 日本亚洲电影天堂| 午夜成人免费视频| 天天av天天翘天天综合网| 香蕉加勒比综合久久| 亚洲电影一级黄| 亚洲国产色一区| 五月婷婷激情综合网| 五月天一区二区三区| 日韩电影免费在线看| 免费在线成人网| 麻豆精品视频在线观看免费 | 一区二区三区四区蜜桃| 亚洲综合丁香婷婷六月香| 亚洲高清视频中文字幕| 三级精品在线观看| 美女视频黄久久| 久久99日本精品| 国产成人免费在线视频| www.日韩大片| 91久久线看在观草草青青| 欧美少妇bbb| 欧美一区二区精美| 精品久久久久一区| 久久久久国产一区二区三区四区| 国产欧美va欧美不卡在线| 亚洲天堂中文字幕| 亚洲成人tv网| 麻豆成人在线观看| 高清免费成人av| 97超碰欧美中文字幕| 欧美日韩在线免费视频| 日韩欧美一二三| 国产精品人成在线观看免费| 亚洲精选视频在线| 日韩电影免费一区| 国产麻豆午夜三级精品| 99国产精品国产精品久久| 欧美日韩中文字幕一区| 91精品国产高清一区二区三区蜜臀 | www.日韩在线| 欧美日韩另类一区| xnxx国产精品| 亚洲精品国产精华液| 麻豆精品久久久| 97se亚洲国产综合在线| 欧美精品vⅰdeose4hd|