<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: network code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Wed, 23 Jul 2008 21:32:34 GMT</pubDate>
    <description>DZone Snippets: network code</description>
    <item>
      <title>Perl : scan a list of networks, looking for hosts responding on the port 80 (http)</title>
      <link>http://snippets.dzone.com/posts/show/5467</link>
      <description>// Input : a list of address of routers, in dotted decimal notation&lt;br /&gt;&lt;code&gt;&lt;br /&gt;use strict;&lt;br /&gt;use Net::Ping;&lt;br /&gt;use IO::Socket::INET;&lt;br /&gt;&lt;br /&gt;sub isodate() {&lt;br /&gt;        my ($day, $mon, $year, $hour, $min, $sec) = (localtime)[3, 4, 5, 2, 1, 0];&lt;br /&gt;        $mon++; # 0-based index&lt;br /&gt;        $year = $year + 1900;&lt;br /&gt;        my $date = sprintf ("%04i-%02i-%02i %02i\:%02i\:%02i", $year, $mon, $day, $hour, $min, $sec);&lt;br /&gt;        return $date;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub testhost {&lt;br /&gt;       my $p = new Net::Ping("tcp");&lt;br /&gt;       $p-&gt;{port_num}=80; &lt;br /&gt;       my @result = $p -&gt; ping($_[0],2);&lt;br /&gt;       return $result[0];&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;sub to_dot {&lt;br /&gt;	my $n = shift;&lt;br /&gt;	my @decimal;&lt;br /&gt;	for (1..4) {&lt;br /&gt;		unshift @decimal, $n &amp; 0xFF;&lt;br /&gt;		$n &gt;&gt;= 8;&lt;br /&gt;	}&lt;br /&gt;	return join(".",@decimal);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;my %dejavu;&lt;br /&gt;open FH,"liste.txt";&lt;br /&gt;while (&lt;FH&gt;) {&lt;br /&gt;	chomp;&lt;br /&gt;	my ($routeur,$mask)=split;&lt;br /&gt;	&lt;br /&gt;	next if $routeur !~ /\d+\.\d+\.\d+\.\d+$/ or $mask !~ /\d+\.\d+\.\d+\.\d+$/;&lt;br /&gt;	&lt;br /&gt;	next if defined($dejavu{$routeur});&lt;br /&gt;	$dejavu{$routeur}=1;&lt;br /&gt;	&lt;br /&gt;	my ($o1,$o2,$o3,$o4) = split /\./,$mask;&lt;br /&gt;	my $mask=$o1*256**3+$o2*256**2+$o3*256+$o4;&lt;br /&gt;	my $num = $mask ^ 0xFFFFFFFF;&lt;br /&gt;	$num--;&lt;br /&gt;&lt;br /&gt;	my ($o1,$o2,$o3,$o4) = split /\./,$routeur;&lt;br /&gt;	my $net=$o1*256**3+$o2*256**2+$o3*256+$o4 &amp; $mask;&lt;br /&gt;	&lt;br /&gt;	#print join("|",$routeur,&amp;to_dot($net),$num)."\n";&lt;br /&gt;	&lt;br /&gt;	print "Starting scanning network ".to_dot($net).", router = ".$routeur."\n";&lt;br /&gt;	print "Adresses demarrant de ".to_dot($net+1)." et finissant a ".to_dot($net+$num).".\n";&lt;br /&gt;	for my $i (1..$num) {&lt;br /&gt;		my $host=to_dot($net+$i);&lt;br /&gt;		if ( &amp;testhost($host) ) {&lt;br /&gt;			print "$host is alive\n";&lt;br /&gt;			my $port=80;&lt;br /&gt;			my $sock = new IO::Socket::INET (PeerAddr =&gt; $host,&lt;br /&gt;					     PeerPort =&gt; $port,&lt;br /&gt;					     Proto =&gt; 'tcp');&lt;br /&gt;			if ($sock){&lt;br /&gt;				close $sock;&lt;br /&gt;				print "$port -open on $host\n";&lt;br /&gt;				open OUT,"&gt;&gt;webservers.txt";&lt;br /&gt;				print OUT join("|",isodate(),$host,to_dot($net),$routeur)."\n";&lt;br /&gt;				close OUT;&lt;br /&gt;			}	else	{&lt;br /&gt;				print "$port -closed on $host\n";&lt;br /&gt;			}&lt;br /&gt;&lt;br /&gt;		} else {&lt;br /&gt;			print "$host is not responding\n";&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;close FH;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 06 May 2008 07:05:28 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5467</guid>
      <author>bouffon69 (Sylvain Le Courtois)</author>
    </item>
    <item>
      <title>Send custom UDP packets in Ruby</title>
      <link>http://snippets.dzone.com/posts/show/4541</link>
      <description>&lt;br /&gt;From: http://www.ruby-forum.com/topic/124159&lt;br /&gt;Author: Bill Kelly&lt;br /&gt;&lt;br /&gt;For yet another nifty UDP snippet see &lt;a href="http://www.rubyinside.com/skype-style-firewall-busting-with-ruby-and-udp-399.html"&gt;Skype-Style Firewall Busting with Ruby and UDP&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;require 'socket'&lt;br /&gt;&lt;br /&gt;#abort "Usage: server_addr, server_port, cmd_str" unless ARGV.length == 3&lt;br /&gt;&lt;br /&gt;UDP_RECV_TIMEOUT = 3  # seconds&lt;br /&gt;&lt;br /&gt;def q2cmd(server_addr, server_port, cmd_str)&lt;br /&gt;  resp, sock = nil, nil&lt;br /&gt;  begin&lt;br /&gt;   cmd = "\377\377\377\377#{cmd_str}\0"&lt;br /&gt;    sock = UDPSocket.open&lt;br /&gt;    sock.send(cmd, 0, server_addr, server_port)&lt;br /&gt;    resp = if select([sock], nil, nil, UDP_RECV_TIMEOUT)&lt;br /&gt;      sock.recvfrom(65536)&lt;br /&gt;    end&lt;br /&gt;    if resp&lt;br /&gt;      resp[0] = resp[0][4..-1]  # trim leading 0xffffffff&lt;br /&gt;    end&lt;br /&gt;  rescue IOError, SystemCallError&lt;br /&gt;  ensure&lt;br /&gt;    sock.close if sock&lt;br /&gt;  end&lt;br /&gt;  resp ? resp[0] : nil&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;# your firewall has to allow communication with IP address 67.19.248.74 (port 27912)&lt;br /&gt;#server, port, cmd = *ARGV&lt;br /&gt;server = "tastyspleen.net"&lt;br /&gt;port = 27912&lt;br /&gt;cmd = "status"&lt;br /&gt;&lt;br /&gt;result = q2cmd(server, port, cmd)&lt;br /&gt;puts result&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;</description>
      <pubDate>Fri, 14 Sep 2007 11:19:36 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4541</guid>
      <author>ntk ()</author>
    </item>
    <item>
      <title>J2ME - getIPdevice</title>
      <link>http://snippets.dzone.com/posts/show/3592</link>
      <description>// Retrevie IP device &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;package org.socketdemo;&lt;br /&gt;&lt;br /&gt;import javax.microedition.io.Connector;&lt;br /&gt;import javax.microedition.io.SocketConnection;&lt;br /&gt;import javax.microedition.lcdui.Alert;&lt;br /&gt;import javax.microedition.lcdui.AlertType;&lt;br /&gt;import javax.microedition.lcdui.Command;&lt;br /&gt;import javax.microedition.lcdui.CommandListener;&lt;br /&gt;import javax.microedition.lcdui.Display;&lt;br /&gt;import javax.microedition.lcdui.Displayable;&lt;br /&gt;import javax.microedition.midlet.MIDlet;&lt;br /&gt;import javax.microedition.midlet.MIDletStateChangeException;&lt;br /&gt;&lt;br /&gt;public class SocketDEMO extends MIDlet implements CommandListener&lt;br /&gt;{&lt;br /&gt;	protected SocketDEMO midlet = this;&lt;br /&gt;	&lt;br /&gt;	private Alert info;&lt;br /&gt;	&lt;br /&gt;	protected void destroyApp(boolean value) throws MIDletStateChangeException&lt;br /&gt;	{&lt;br /&gt;		notifyDestroyed();&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	protected void pauseApp()&lt;br /&gt;	{&lt;br /&gt;&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	protected void startApp() throws MIDletStateChangeException&lt;br /&gt;	{&lt;br /&gt;		new Thread()&lt;br /&gt;		{&lt;br /&gt;			public void run()&lt;br /&gt;			{&lt;br /&gt;				SocketConnection socket = null;&lt;br /&gt;				&lt;br /&gt;				try&lt;br /&gt;				{&lt;br /&gt;					socket = (SocketConnection) Connector.open("socket://193.204.114.233:13");&lt;br /&gt;					&lt;br /&gt;					socket.openInputStream();&lt;br /&gt;					&lt;br /&gt;					info = new Alert("Info", "Current IP: " + socket.getLocalAddress() + "\nPort: " + socket.getLocalPort(), null, AlertType.INFO);&lt;br /&gt;					info.setTimeout(Alert.FOREVER);&lt;br /&gt;					info.setCommandListener(midlet);&lt;br /&gt;					&lt;br /&gt;					getDisplay().setCurrent(info);&lt;br /&gt;				}&lt;br /&gt;				catch(Exception error)&lt;br /&gt;				{&lt;br /&gt;					info = new Alert("Info", "Current IP: N/A\nPort: N/A", null, AlertType.INFO);&lt;br /&gt;					info.setTimeout(Alert.FOREVER);&lt;br /&gt;					info.setCommandListener(midlet);&lt;br /&gt;					&lt;br /&gt;					getDisplay().setCurrent(info);&lt;br /&gt;				}&lt;br /&gt;				finally&lt;br /&gt;				{&lt;br /&gt;					if(socket != null)&lt;br /&gt;					{&lt;br /&gt;						try&lt;br /&gt;						{&lt;br /&gt;							socket.close();&lt;br /&gt;						}&lt;br /&gt;						catch(Exception error)&lt;br /&gt;						{&lt;br /&gt;							&lt;br /&gt;						}&lt;br /&gt;					}&lt;br /&gt;				}&lt;br /&gt;			}&lt;br /&gt;		}.start();&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	protected Display getDisplay()&lt;br /&gt;	{&lt;br /&gt;		return Display.getDisplay(this);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	public void commandAction(Command cmd, Displayable dsp)&lt;br /&gt;	{&lt;br /&gt;		if(cmd == Alert.DISMISS_COMMAND)&lt;br /&gt;		{&lt;br /&gt;			try&lt;br /&gt;			{&lt;br /&gt;				destroyApp(true);&lt;br /&gt;			}&lt;br /&gt;			catch(MIDletStateChangeException error)&lt;br /&gt;			{&lt;br /&gt;			&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Wed, 28 Feb 2007 00:15:46 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3592</guid>
      <author>whitetiger ()</author>
    </item>
    <item>
      <title>PyS60 - BabelFish</title>
      <link>http://snippets.dzone.com/posts/show/3047</link>
      <description>// Translate from language A to language B&lt;br /&gt;// code not complete but it works&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import urllib&lt;br /&gt;&lt;br /&gt;####################################################################################### &lt;BabelFish&gt;&lt;br /&gt;class BabelFish(object):&lt;br /&gt;    &lt;br /&gt;    def translate(self, lang, message):&lt;br /&gt;        &lt;br /&gt;        try:&lt;br /&gt;            url = urllib.URLopener()&lt;br /&gt;        &lt;br /&gt;            query = urllib.urlencode({&lt;br /&gt;                                      'doit':'done',&lt;br /&gt;                                      'intl':'1',&lt;br /&gt;                                      'lp':lang,&lt;br /&gt;                                      'tt':'urltext',&lt;br /&gt;                                      'urltext':message&lt;br /&gt;                                      })&lt;br /&gt;        &lt;br /&gt;            responde = url.open('http://babelfish.altavista.com/tr', query).read()&lt;br /&gt;        &lt;br /&gt;            start = responde.find('&lt;div style=padding:10px;&gt;') + 25&lt;br /&gt;            stop = responde.find('&lt;/div&gt;', start)&lt;br /&gt;        &lt;br /&gt;            return responde[start:stop]&lt;br /&gt;        &lt;br /&gt;        except Exception, error:&lt;br /&gt;            return '-' + str(error)&lt;br /&gt;####################################################################################### &lt;/BabelFish&gt;&lt;br /&gt;&lt;br /&gt;####################################################################################### &lt;BabelFishUI&gt;&lt;br /&gt;from graphics import *&lt;br /&gt;&lt;br /&gt;import appuifw&lt;br /&gt;import e32&lt;br /&gt;&lt;br /&gt;class BabelFishUI(object):&lt;br /&gt;    &lt;br /&gt;    def __init__(self):&lt;br /&gt;        &lt;br /&gt;        self.__lock = e32.Ao_lock()&lt;br /&gt;        self.__img = Image.new((176, 144))&lt;br /&gt;        self.__language = 'it_en'&lt;br /&gt;        self.__textUI = None&lt;br /&gt;        &lt;br /&gt;        appuifw.app.exit_key_handler = lambda:self.__lock.signal()&lt;br /&gt;        &lt;br /&gt;        appuifw.app.title = u'BabelFish v1.0'&lt;br /&gt;        appuifw.app.body = self.__canvas = appuifw.Canvas(redraw_callback=self.updateScreen)&lt;br /&gt;        &lt;br /&gt;        appuifw.app.menu = [(u'Translate', lambda:self.__translateUI()), (u'About', lambda:appuifw.note(u'BabelFish: v1.0", "Created by\nWhite Tiger\n&lt;Z-TEAM@Libero.it&gt;', 'info')), (u'Exit', lambda:self.__lock.signal)]&lt;br /&gt;        &lt;br /&gt;        self.updateScreen(None)&lt;br /&gt;        &lt;br /&gt;        self.__menuMain = appuifw.app.menu&lt;br /&gt;        self.__bgMain = appuifw.app.body&lt;br /&gt;        &lt;br /&gt;        self.__lock.wait()&lt;br /&gt;    &lt;br /&gt;    def updateScreen(self, rect):&lt;br /&gt;        &lt;br /&gt;        self.__canvas.blit(self.__img)&lt;br /&gt;    &lt;br /&gt;    def __back(self):&lt;br /&gt;        &lt;br /&gt;        appuifw.app.menu = self.__menuMain&lt;br /&gt;        appuifw.app.body = self.__bgMain&lt;br /&gt;        &lt;br /&gt;        appuifw.app.set_tabs([u'Back'], lambda x:None)&lt;br /&gt;    &lt;br /&gt;    def __translateUI(self):&lt;br /&gt;        &lt;br /&gt;        self.__textUI = appuifw.Text()&lt;br /&gt;                &lt;br /&gt;        appuifw.app.menu = [(u'Translate', lambda:self.__translate()), (u'Language', lambda:self.__setLanguage()), (u'Clear', lambda:self.__textUI.clear()), (u'Back', lambda:self.__back())]&lt;br /&gt;                   &lt;br /&gt;        appuifw.app.body = self.__textUI&lt;br /&gt;                &lt;br /&gt;    def __setLanguage(self):&lt;br /&gt;        &lt;br /&gt;        resp = appuifw.selection_list([u'italiano-inglese', u'inglese-italiano', u'inglese-francese', u'francese-inglese', u'inglese-tedesco', u'tedesco-inglese',&lt;br /&gt;                                       u'francese-italiano', u'italiano-francese'], 1)&lt;br /&gt;        &lt;br /&gt;        if resp == 0:&lt;br /&gt;            self.__language = 'it_en'&lt;br /&gt;        elif resp == 1:&lt;br /&gt;            self.__language = 'en_it'&lt;br /&gt;        elif resp == 2:&lt;br /&gt;            self.__language = 'en_fr'&lt;br /&gt;        elif resp == 3:&lt;br /&gt;            self.__language = 'fr_en'&lt;br /&gt;        elif resp == 4:&lt;br /&gt;            self.__language = 'en_de'&lt;br /&gt;        elif resp == 5:&lt;br /&gt;            self.__language = 'de_en'&lt;br /&gt;        elif resp == 6:&lt;br /&gt;            self.__language = 'fr_it'&lt;br /&gt;        elif resp == 7:&lt;br /&gt;            self.__language = 'it_fr'&lt;br /&gt;            &lt;br /&gt;    def __translate(self):&lt;br /&gt;        &lt;br /&gt;        babel = BabelFish()&lt;br /&gt;        &lt;br /&gt;        resp = babel.translate(self.__language, self.__textUI.get())&lt;br /&gt;        &lt;br /&gt;        if resp[0] == '-':&lt;br /&gt;            self.__textUI.set(unicode(resp[1:]))&lt;br /&gt;        else:&lt;br /&gt;            self.__textUI.set(unicode(': ' +self.__textUI.get() + '\n: ' + resp))&lt;br /&gt;                &lt;br /&gt;        appuifw.note(u'Translate', 'conf')&lt;br /&gt;####################################################################################### &lt;/BabelFishUI&gt;&lt;br /&gt;&lt;br /&gt;if __name__ == '__main__':&lt;br /&gt;    &lt;br /&gt;    BabelFishUI()&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 28 Nov 2006 04:35:55 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3047</guid>
      <author>whitetiger ()</author>
    </item>
    <item>
      <title>Python - My External IP Address</title>
      <link>http://snippets.dzone.com/posts/show/3034</link>
      <description>// My external ip address&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import urllib&lt;br /&gt;&lt;br /&gt;url = urllib.URLopener()&lt;br /&gt;resp = url.open('http://myip.dk')&lt;br /&gt;html = resp.read(114)&lt;br /&gt;&lt;br /&gt;end = html.find("&lt;/title&gt;")&lt;br /&gt;start = html.find("IP:") + 3&lt;br /&gt;&lt;br /&gt;print html[start:end].strip()&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 25 Nov 2006 06:02:01 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3034</guid>
      <author>whitetiger ()</author>
    </item>
    <item>
      <title>Python - Change user-agent</title>
      <link>http://snippets.dzone.com/posts/show/3015</link>
      <description>// Cambiare user-agent con urllib&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import urllib&lt;br /&gt;&lt;br /&gt;class AppURLopener(urllib.FancyURLopener):&lt;br /&gt;&lt;br /&gt;	version = 'Nokia6630/1.0 (2.3.129) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1'&lt;br /&gt;&lt;br /&gt;urllib._urlopener = AppURLopener()&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;// Cambiare user-agent con urllib2&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import urllib2&lt;br /&gt;&lt;br /&gt;headers = { 'user-agent':'Nokia6630/1.0 (2.3.129) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1',&lt;br /&gt;		    'keep-alive':'300',&lt;br /&gt;		    'content-type':'application/x-www-form-urlencoded'&lt;br /&gt;		  }&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 18 Nov 2006 15:14:46 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3015</guid>
      <author>whitetiger ()</author>
    </item>
    <item>
      <title>setup computer hostname in linux</title>
      <link>http://snippets.dzone.com/posts/show/2697</link>
      <description>* edit &lt;br /&gt;&lt;code&gt;/etc/sysconfig/network&lt;/code&gt;&lt;br /&gt;* add the following lines:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;HOSTNAME=www.test.com&lt;br /&gt;DOMAINNAME=test.com&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;</description>
      <pubDate>Sat, 23 Sep 2006 18:28:45 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2697</guid>
      <author>nevadalife (nevada)</author>
    </item>
    <item>
      <title>search with grep in linux</title>
      <link>http://snippets.dzone.com/posts/show/2688</link>
      <description>&lt;br /&gt;Searching files&lt;br /&gt;&lt;br /&gt;grep (r - recursive, s - no messages, n -line number, i - case insensitve, H -with filename)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;grep -rsniH your_string&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;match lines containing the string "I am a cat" or the string "I am a dog".&lt;br /&gt;&lt;code&gt;&lt;br /&gt;grep "I am a \(cat\|dog\)" &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Search application&lt;br /&gt;&lt;br /&gt;to find PID (process ID) of a certain application or process,&lt;br /&gt;&lt;code&gt;&lt;br /&gt;pgrep&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;find application port&lt;br /&gt;&lt;code&gt;&lt;br /&gt;netstat -a | grep ftp&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;</description>
      <pubDate>Sat, 23 Sep 2006 18:11:26 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2688</guid>
      <author>nevadalife (nevada)</author>
    </item>
    <item>
      <title>network utils</title>
      <link>http://snippets.dzone.com/posts/show/2686</link>
      <description>&lt;br /&gt;check port&lt;br /&gt;&lt;code&gt;&lt;br /&gt;netstat -l&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Download files from the listed file.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;wget -i &lt;file&gt; &lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 23 Sep 2006 18:01:51 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2686</guid>
      <author>nevadalife (nevada)</author>
    </item>
    <item>
      <title>Transfer files on windows network</title>
      <link>http://snippets.dzone.com/posts/show/896</link>
      <description>From Fadly Tabrani's &lt;a href=http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/442521&gt;recipe&lt;/a&gt;.&lt;br /&gt;You need his implementation of netcopy, netmove, netdelete.&lt;br /&gt;pywin32 extension required.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# Copy "c:\documents" folder/file to "c:\transferred" on host "w0001".&lt;br /&gt;netcopy('w0001', 'c:\\documents', 'c:\\transferred')&lt;br /&gt;&lt;br /&gt;# Move with account credentials.&lt;br /&gt;netmove('w0001', 'c:\\documents', 'c:\\transferred', 'admin', 'adminpass')&lt;br /&gt;&lt;br /&gt;# Delete with another account.&lt;br /&gt;netdelete('w0001', 'c:\\transferred', 'testdom\\user1', 'user1pass')&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 18 Nov 2005 14:38:38 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/896</guid>
      <author>korakot (Korakot Chaovavanich)</author>
    </item>
  </channel>
</rss>
