DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Python (http://www.daniweb.com/forums/forum114.html)
-   -   IP adresses (http://www.daniweb.com/forums/thread34883.html)

danizzil14 Nov 5th, 2005 9:33 pm
IP adresses
 
Ok, Im still really shaky w/useing python with other programs. So here is my question, is it possible to create just a very small program that grabs my IP adress, copys it, and then sends it to certain IM buddys? The reason I am asking this is beacause my friends and I play a multiplayer game but, the game requires me to give out my IP to every singe person who wants to play, not to mention I also use a program called teamspeak that requires them to type my ip. If it can't send it to im buddys is it possible to just have it copy it to the clipboard?

Help apprecaited. :cheesy:

vegaseat Nov 6th, 2005 1:13 pm
Re: IP adresses
 
It might depend on what OS you are using, but here is one way ...
[php]# socket.getaddrinfo returns a list of tuples
# tuple[4][0] of each list element is the IP address

import socket

addrs = socket.getaddrinfo(socket.gethostname(), None)
for addr in addrs:
print addr[4][0]
[/php]

danizzil14 Nov 6th, 2005 6:44 pm
Re: IP adresses
 
Wait so all i need to do is use that code and it will copy it to my clip board? Or will it just print it in the DOS box? Oh and I am using XP for Windows. And what is a tuples?

shanenin Nov 7th, 2005 2:04 am
Re: IP adresses
 
This is not very efficient, but you could get your ip using a webbased service
import urllib2
def getip():
    webaddress = "http://www.getip.com"
    page = urllib2.urlopen(webaddress)
    pagetolines = page.readlines()
    for i in pagetolines:
        if i.find('<title>GetIP') != -1:
            ipline = i
            break
    ip = ipline.split()[-1].replace("</title>","")
    return ip
print getip()

I am not sure how to get that on you clipboard.

shanenin Nov 7th, 2005 2:06 am
Re: IP adresses
 
Quote:

Originally Posted by vegaseat
It might depend on what OS you are using, but here is one way ...
[php]# socket.getaddrinfo returns a list of tuples
# tuple[4][0] of each list element is the IP address

import socket

addrs = socket.getaddrinfo(socket.gethostname(), None)
for addr in addrs:
print addr[4][0]
[/php]

I just tested your code, that just gets the internal ip, would he need his external IP?

vegaseat Nov 7th, 2005 12:30 pm
Re: IP adresses
 
Good question, I am not familiar with the program called teamspeak.

The socket module brings up both IPs on Windows as long as you are connected, otherwise only the internal IP.

You might have to go to wxPython to handle the ClipBoard.

A tuple is an immutable collection of objects separated by commas, usually enclosed in (). In the socket code just print addrs to see what it looks like.

shanenin Nov 7th, 2005 6:28 pm
Re: IP adresses
 
using pywin32 adding to the clipboard is easy.

import win32clipboard, urllib2

# this function just gets the ip from reading page source, and parisng it out
def getip():
    webaddress = "http://www.getip.com"
    page = urllib2.urlopen(webaddress)
    pagetolines = page.readlines()
    for i in pagetolines:
        if i.find('<title>GetIP') != -1:
            ipline = i
            break
    ip = ipline.split()[-1].replace("</title>","")
    return ip

clippedtext = getip()

# this function just places the ip into the clipboard, it takes its parameter from getip
def clippy(text):
    win32clipboard.OpenClipboard()
    win32clipboard.EmptyClipboard()
    win32clipboard.SetClipboardText(text)
    win32clipboard.CloseClipboard()
   
clippy(clippedtext)

danizzil14 Nov 8th, 2005 10:48 pm
Re: IP adresses
 
How about Tkinter I've learned basic programming in that but i dont know if i can learn wx Python or Pywin32 but if i have to then i dont mind learning that in place of Tkinter.

danizzil14 Nov 8th, 2005 11:04 pm
Re: IP adresses
 
Quote:

Originally Posted by vegaseat
Good question, I am not familiar with the program called teamspeak.

The socket module brings up both IPs on Windows as long as you are connected, otherwise only the internal IP.

You might have to go to wxPython to handle the ClipBoard.

A tuple is an immutable collection of objects separated by commas, usually enclosed in (). In the socket code just print addrs to see what it looks like.

Oh, and if you goto goteamspeak.com then it might help you get aquainted with the program, all it is, is a live chat program that uses mics and speakers instead of cell phones (or house phones), but beacause of the way it is set up you cant just click on a link to join a server, you need the ip of the server(the computer)

danizzil14 Nov 8th, 2005 11:27 pm
Re: IP adresses
 
Oh and I am reeeeeeeeeeaaaaaaaaaalllllllly shaky with using classes, that is probably the thing I am most having trouble with when it comes to Python and Tkinter.[I just can't fully grasp the consept (ie. don;t understand why self is in there that really bugs me)]

shanenin Nov 9th, 2005 12:16 am
Re: IP adresses
 
Quote:

Originally Posted by danizzil14
Oh and I am reeeeeeeeeeaaaaaaaaaalllllllly shaky with using classes, that is probably the thing I am most having trouble with when it comes to Python and Tkinter.[I just can't fully grasp the consept (ie. don;t understand why self is in there that really bugs me)]

i hear ya, classed give me trouble also :-)


All times are GMT -4. The time now is 7:39 pm.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC