⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msnp13.tcl

📁 Linux下的MSN聊天程序源码
💻 TCL
字号:
package require msnSOAPif {[winfo exists .cl] == 0} {	source contactlist.tcl	pack [contactlist .cl] -expand true -fill both#	Event::fireEvent groupAdded protocol online Online#	Event::fireEvent groupAdded protocol offline Offline}proc getAddressbook {} {	msnSOAP::create ABFindAll \	  -uri "http://www.msn.com/webservices/AddressBook" \	  -proxy "http://contacts.msn.com/abservice/abservice.asmx" \	  -params {abId "" abView "" deltasOnly "" lastChange ""} \	set d(valid) Y	::abook::getDemographics d	set mspauth $d(mspauth)	set head [list "SOAPAction" "http://www.msn.com/webservices/AddressBook/ABFindAll"]	lappend head "Cookie" "MSPAuth=$mspauth"	msnSOAP::configure ABFindAll -httpheaders "$head"	set cl [ABFindAll -headers {-subHeader ABApplicationHeader ApplicationId 09607671-1C32-421F-A6A6-CBFAA51AB5F4 IsMigration false PartnerScenario Initial -endSubHeader "" -subHeader ABAuthHeader ManagedGroupRequest false -endSubHeader ""} 00000000-0000-0000-0000-000000000000 Full false 0001-01-01T00:00:00.0000000-08:00]	set contacts {}	foreach { type data } $cl {		if { $type == "contacts" } {			foreach contact $data {				foreach { head val } $contact {					if { $head == "contactInfo" } {						foreach { key value } $val {							if { $key == "passportName" } {								lappend contacts $value							}						}					}												}			}		}	}	#puts contacts:$contacts	sendADL $contacts	foreach contact $contacts {		Event::fireEvent contactAdded protocol {} $contact $contact psm music Offline	}#	set url "http://contacts.msn.com/abservice/abservice.asmx"#	set d(valid) Y#	::abook::getDemographics d#	set mspauth $d(mspauth)#	set head [list "SOAPAction" "http://www.msn.com/webservices/AddressBook/ABFindAll"]#	lappend head [list "Content-Type" "text/xml; charset=utf-8"]#	lappend head [list "Cookie" "MSPAuth=$mspauth"]#	lappend head [list "Host" "contacts.msn.com"]#	lappend head [list "Content-Length" "1045"]#	status_log "getAddressbook: Getting $url\n" blue#	if { [catch {::http::geturl $url -command "gotAddressbook $self [list $str]" -headers $head}] } {#		eval [ns cget -autherror_handler]		#msnp9_auth_error#	}}#######################proc blaat {} {	set cl [ABFindAll -headers {-subHeader ABApplicationHeader ApplicationId 09607671-1C32-421F-A6A6-CBFAA51AB5F4 IsMigration false PartnerScenario Initial -endSubHeader "" -subHeader ABAuthHeader ManagedGroupRequest false -endSubHeader ""} 00000000-0000-0000-0000-000000000000 Full false 0001-01-01T00:00:00.0000000-08:00]	puts $cl	puts ---------	set contacts {}	foreach { type data } $cl {		puts $type		if { $type == "contacts" } {			foreach contact $data {				foreach { head val } $contact {					puts $head					puts val:					puts $val					puts |||					if { $head == "contactInfo" } {						foreach { key value } $val {							if { $key == "passportName" } {								lappend contacts $value							}						}					}												}			}		}	}	puts contacts:$contacts	sendADL $contacts}proc sendADL {contacts {initial {0}}} {	set xml "<ml l=\"1\">"	array set domains {}	foreach contact $contacts {		set contact [split $contact "@"]		set user [lindex $contact 0]		set domain [lindex $contact 1]		lappend domains($domain) $user	}	foreach {domain users} [array get domains] {		append xml "<d n=\"$domain\">"		foreach user $users {			append xml "<c n=\"$user\" l=\"3\" t=\"1\" />"		}		append xml "</d>"	}	append xml "</ml>"#	set xml "<ml l=\"1\"><d n=\"hotmail.com\"><c n=\"tjikkun\" l=\"3\" t=\"1\" /></d></ml>"	set xmllen [string length $xml]	::MSN::WriteSBNoNL ns "ADL" "$xmllen\r\n$xml"}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -