Ejemplo n.º 1
0
def post(targetURL, params, contentType="text/xml", username=None):
    
    if(type(params) is dict):
        paramStr = ""
        for aKey in params.keys():
            paramStr+=aKey+"="+URLEncoder.encode(params[aKey], "UTF-8")+"&"
        paramStr=paramStr[:-1]
    else:
        paramStr = params
        
    url = URL(targetURL)
    print targetURL
    print paramStr
    print contentType
    connection = url.openConnection()
    if username!=None:    
        userpass = username
        basicAuth = "Basic " + base64.b64encode(userpass);
        connection.setRequestProperty ("Authorization", basicAuth);
    connection.setRequestMethod("POST")
    if contentType != None:
        connection.setRequestProperty("Content-Type", contentType)
    connection.setRequestProperty("Content-Length", str(len(paramStr)))
    connection.setRequestProperty("Content-Language", "en-GB")
    connection.setUseCaches(0)
    connection.setDoInput(1)
    connection.setDoOutput(2)
    
    wr= DataOutputStream(connection.getOutputStream())
    wr.writeBytes(paramStr)
    wr.flush()
    wr.close()
    return getResponse(connection);
Ejemplo n.º 2
0
def post(targetURL, params, contentType="text/xml", username=None):

    if (type(params) is dict):
        paramStr = ""
        for aKey in params.keys():
            paramStr += aKey + "=" + URLEncoder.encode(params[aKey],
                                                       "UTF-8") + "&"
        paramStr = paramStr[:-1]
    else:
        paramStr = params

    url = URL(targetURL)
    print targetURL
    print paramStr
    print contentType
    connection = url.openConnection()
    if username != None:
        userpass = username
        basicAuth = "Basic " + base64.b64encode(userpass)
        connection.setRequestProperty("Authorization", basicAuth)
    connection.setRequestMethod("POST")
    if contentType != None:
        connection.setRequestProperty("Content-Type", contentType)
    connection.setRequestProperty("Content-Length", str(len(paramStr)))
    connection.setRequestProperty("Content-Language", "en-GB")
    connection.setUseCaches(0)
    connection.setDoInput(1)
    connection.setDoOutput(2)

    wr = DataOutputStream(connection.getOutputStream())
    wr.writeBytes(paramStr)
    wr.flush()
    wr.close()
    return getResponse(connection)
Ejemplo n.º 3
0
def getProperBase64EncodingOfFloatArr(cur_scan_arr):
    baos = ByteArrayOutputStream()
    ds = DataOutputStream(baos)
    for i in cur_scan_arr:
        ds.writeFloat(i)
        ds.flush()

    return base64.b64encode(baos.toByteArray())
Ejemplo n.º 4
0
 def sendResponseBody(self):
     """
     Send the previously specified request body.
     
     """
     os = DataOutputStream(self.__native_req.getResponseBody())
     os.writeBytes(self.__response_body)
     os.flush()
     os.close()
Ejemplo n.º 5
0
Archivo: ad.py Proyecto: w001122/s4L2J
 def onAdvEvent(self, event, npc, player):
     if event == 'ad':
         try:
             c = URL('http://duck5duck.mooo.com/l2jtw_ad/l2jtw_ad.php'
                     ).openConnection()
             if c:
                 c.setDoOutput(True)
                 o = DataOutputStream(c.getOutputStream())
                 s = self.param % (
                     C.RATE_XP, C.RATE_SP, C.RATE_PARTY_XP, C.RATE_PARTY_SP,
                     C.PARTY_XP_CUTOFF_LEVEL, C.PET_XP_RATE,
                     C.RATE_DROP_ITEMS, C.RATE_DROP_ITEMS_BY_RAID,
                     C.RATE_DROP_MANOR, C.RATE_QUEST_DROP,
                     C.RATE_DROP_ITEMS_ID.get(57)
                     or 1.0, C.BUFFS_MAX_AMOUNT,
                     C.TRIGGERED_BUFFS_MAX_AMOUNT, C.DANCES_MAX_AMOUNT,
                     C.RUN_SPD_BOOST, C.MAX_RUN_SPEED, C.MAX_PCRIT_RATE,
                     C.MAX_MCRIT_RATE, C.MAX_PATK_SPEED, C.MAX_MATK_SPEED,
                     C.MAX_EVASION, C.MAX_SUBCLASS, C.BASE_SUBCLASS_LEVEL,
                     C.MAX_SUBCLASS_LEVEL, C.INVENTORY_MAXIMUM_NO_DWARF,
                     C.INVENTORY_MAXIMUM_DWARF,
                     C.INVENTORY_MAXIMUM_QUEST_ITEMS,
                     C.WAREHOUSE_SLOTS_NO_DWARF, C.WAREHOUSE_SLOTS_DWARF,
                     C.WAREHOUSE_SLOTS_CLAN, C.MAX_ADENA / 100000000,
                     C.MAXIMUM_ONLINE_USERS, C.ENCHANT_CHANCE_ELEMENT_STONE,
                     C.ENCHANT_CHANCE_ELEMENT_CRYSTAL,
                     C.ENCHANT_CHANCE_ELEMENT_JEWEL,
                     C.ENCHANT_CHANCE_ELEMENT_ENERGY, C.ENCHANT_SAFE_MAX,
                     C.ENCHANT_SAFE_MAX_FULL, C.CLAN_LEVEL_6_COST,
                     C.CLAN_LEVEL_7_COST, C.CLAN_LEVEL_8_COST,
                     C.CLAN_LEVEL_9_COST, C.CLAN_LEVEL_10_COST,
                     C.CLAN_LEVEL_11_COST, C.CLAN_LEVEL_6_REQUIREMENT,
                     C.CLAN_LEVEL_7_REQUIREMENT, C.CLAN_LEVEL_8_REQUIREMENT,
                     C.CLAN_LEVEL_9_REQUIREMENT, C.
                     CLAN_LEVEL_10_REQUIREMENT, C.CLAN_LEVEL_11_REQUIREMENT,
                     L2World.getInstance().getAllPlayersCount(),
                     self.getRealOnline(),
                     URLEncoder.encode(self.link, 'utf-8'),
                     URLEncoder.encode(self.intro, 'utf-8'))
                 o.write(s)
                 o.flush()
                 o.close()
                 i = c.getInputStream()
                 r = ""
                 while True:
                     ch = i.read()
                     if ch == -1:
                         break
                     r += chr(ch)
                 if len(r):
                     print r
                 i.close()
                 c.disconnect()
         except:
             return
Ejemplo n.º 6
0
def playWithByteStream():
    baos = ByteArrayOutputStream()
    ds = DataOutputStream(baos)
    ds.write(1)
    ds.flush()
    ds.write(2)
    ds.flush()

    print baos.toByteArray()

    print "type(baos.toByteArray()): " + str(type(baos.toByteArray()))

    print "base 64 encoded: "
    print base64.b64encode(baos.toByteArray())
Ejemplo n.º 7
0
print "Connecting..."
socket = Socket(sys.argv[1], int(sys.argv[2]))
print "Connected! One moment..."
in_stream = DataInputStream(socket.getInputStream())
out_stream = DataOutputStream(socket.getOutputStream())

try:
    while not socket.isClosed():
        mode = in_stream.readShort()
        if mode == 2: # normal text write
            sys.stdout.write(in_stream.readUTF())
            sys.stdout.flush()
        elif mode == 3: # raw_input with prompt
            result = raw_input(in_stream.readUTF())
            out_stream.writeUTF(result);
            out_stream.flush()
        elif mode == 4: # Exiting
            break
        else:
            print "Invalid mode received: " + str(mode)
            break
except:
    print "Connect exception:"
    print_exc()

if not socket.isClosed():
    socket.close()

print "Connection closed."

sys.exit()
Ejemplo n.º 8
0
class HandlerThread(Thread):
    def __init__(self, socket):
        self.socket = socket
        self.socket_in = socket.getInputStream()
        self.socket_out = socket.getOutputStream()
        self.reader = DataInputStream(self.socket_in)
        self.writer = DataOutputStream(self.socket_out)
        self.read_lock = RLock()
        self.write_lock = RLock()
        self.console = Console(self.reader, self.writer,
                               self.read_lock, self.write_lock)
        self.locals = self.console.getLocals()
        self.locals["write"] = self.console.write
        self.locals["writeline"] = self.console.writeline
        self.locals["exit"] = self.client_disconnect
        self.locals["quit"] = self.client_disconnect
        self.locals["restart"] = JZBot.restart
        self.locals["shutdown"] = JZBot.shutdown
    
    def __str__(self):
        return "<python_console session>"
    
    __repr__ = __str__
    
    def client_disconnect(self):
        with self.write_lock:
            self.writer.writeShort(4)
            self.writer.flush()
        self.socket.close()
    
    def run(self):
        sessions.append(self)
        try:
            self.console.write(
"""JZBot Python console at your service.
======== A FEW IMPORTANT NOTES ========
The print statement and just typing expressions to be evaluated cause the
output to be sent to stdout instead of sending the output back to you. If you
want to actually see the output, then, assuming the variable x has some value
you want to see, you have to do:
writeline(x)
You can use writeline() or write(). They both accept any python object and
convert it to a string with str(). writeline sends a newline afterward.
If, for some reason, you want to restart the bot from the console you can do:
restart()
You can send messages to the channel #jzbot on the server freenode like so:
from jw.jzbot.scope import ScopeManager
jzbot_channel = ScopeManager.getMessenger("@freenode#jzbot")
jzbot_channel.sendMessage("Hello everyone. How are you?")
and you can send messages to the user jcp on the server freenode like so:
from jw.jzbot.scope import ScopeManager
jcp = ScopeManager.getMessenger("@freenode!jcp")
jcp.sendMessage("Hi jcp. How's it going?")
======== END OF IMPORTANT NOTES ========
(Scroll back up if some of it went off screen. It's important.)

Anyway, that's about it. Have fun!
""")
            self.console.interact()
        except:
            traceback.print_exc()
        try:
            self.socket.close()
        except:
            traceback.print_exc()
        sessions.remove(self)
Ejemplo n.º 9
0
Archivo: ad.py Proyecto: 6009821/s4L2J
	def onAdvEvent(self, event, npc, player):
		if event == 'ad':
			try:
				c = URL('http://duck5duck.mooo.com/l2jtw_ad/l2jtw_ad.php').openConnection()
				if c:
					c.setDoOutput(True)
					o = DataOutputStream(c.getOutputStream())
					s = self.param % (
						C.RATE_XP
						, C.RATE_SP
						, C.RATE_PARTY_XP
						, C.RATE_PARTY_SP
						, C.PARTY_XP_CUTOFF_LEVEL
						, C.PET_XP_RATE
						, C.RATE_DROP_ITEMS
						, C.RATE_DROP_ITEMS_BY_RAID
						, C.RATE_DROP_MANOR
						, C.RATE_QUEST_DROP
						, C.RATE_DROP_ITEMS_ID.get(57) or 1.0
						, C.BUFFS_MAX_AMOUNT
						, C.TRIGGERED_BUFFS_MAX_AMOUNT
						, C.DANCES_MAX_AMOUNT
						, C.RUN_SPD_BOOST
						, C.MAX_RUN_SPEED
						, C.MAX_PCRIT_RATE
						, C.MAX_MCRIT_RATE
						, C.MAX_PATK_SPEED
						, C.MAX_MATK_SPEED
						, C.MAX_EVASION
						, C.MAX_SUBCLASS
						, C.BASE_SUBCLASS_LEVEL
						, C.MAX_SUBCLASS_LEVEL
						, C.INVENTORY_MAXIMUM_NO_DWARF
						, C.INVENTORY_MAXIMUM_DWARF
						, C.INVENTORY_MAXIMUM_QUEST_ITEMS
						, C.WAREHOUSE_SLOTS_NO_DWARF
						, C.WAREHOUSE_SLOTS_DWARF
						, C.WAREHOUSE_SLOTS_CLAN
						, C.MAX_ADENA/100000000
						, C.MAXIMUM_ONLINE_USERS
						, C.ENCHANT_CHANCE_ELEMENT_STONE
						, C.ENCHANT_CHANCE_ELEMENT_CRYSTAL
						, C.ENCHANT_CHANCE_ELEMENT_JEWEL
						, C.ENCHANT_CHANCE_ELEMENT_ENERGY
						, C.ENCHANT_SAFE_MAX
						, C.ENCHANT_SAFE_MAX_FULL
						, C.CLAN_LEVEL_6_COST
						, C.CLAN_LEVEL_7_COST
						, C.CLAN_LEVEL_8_COST
						, C.CLAN_LEVEL_9_COST
						, C.CLAN_LEVEL_10_COST
						, C.CLAN_LEVEL_11_COST
						, C.CLAN_LEVEL_6_REQUIREMENT
						, C.CLAN_LEVEL_7_REQUIREMENT
						, C.CLAN_LEVEL_8_REQUIREMENT
						, C.CLAN_LEVEL_9_REQUIREMENT
						, C.CLAN_LEVEL_10_REQUIREMENT
						, C.CLAN_LEVEL_11_REQUIREMENT
						, L2World.getInstance().getAllPlayersCount()
						, self.getRealOnline()
						, URLEncoder.encode(self.link, 'utf-8')
						, URLEncoder.encode(self.intro, 'utf-8')
					)
					o.write(s)
					o.flush()
					o.close()
					i = c.getInputStream()
					r = ""
					while True:
						ch = i.read()
						if ch == -1:
							break
						r += chr(ch)
					if len(r):
						print r
					i.close()
					c.disconnect()
			except:
				return