python 网络编程
2013-10-16 15:44
211 查看
一.DNS 查询IP地址
import sys,socket result=socket.getaddrinfo(sys.argv[1],None,0,socket.SOCK_STREAM) counter=0 for item in result: print "%-2d: %s" % (counter,item[4]) counter+=1
二.IPV6
import socket,sys host,port=sys.argv[1:] results=socket.getaddrinfo(host,port,0,socket.SOCK_STREAM) for result in results: print "-" * 60 if result[0] == socket.AF_INET: print "AF_INET" elif result[0] == socket.AF_INET6: print "AF_INET6" else: print result[0] if result[1] == socket.SOCK_STREAM: print "SOCK_STREAM" elif result[1] == socket.SOCK_DGRAM: print "SOCK_DGRAM" print "Protocol:" ,result[2] print "Socket Address:",result[4]
三.Web 访问
urllib2扩展性更好,有更多的内置特性3.1 获取Web页面
import sys,urllib2 req=urllib2.Request(sys.argv[1]) fd=urllib2.urlopen(req) while 1: data=fd.read(1024) if not len(data): break sys.stdout.write(data)
3.2 判断邮箱格式是否正确
def ValidateEmail(email): if len(email) > 7: if re.match("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$", email) != None: return 1 return 0
四.发送POST消息
#!/usr/bin/python #coding=utf-8 import urllib import urllib2,time def post(url, data): req = urllib2.Request(url) data = urllib.urlencode(data) opener = urllib2.build_opener(urllib2.HTTPCookieProcessor()) response = opener.open(req, data) return response.read() def fun(user,pwd): posturl = "http://www.xxx.com/login.php" data = {'username':user, 'password':pwd} ans=post(posturl, data) print ans if len(ans)!=17: print pwd else: print len(ans) if __name__ == '__main__': fun("myusername","mypassword")
五.调用Google翻译
# -*- coding: utf-8 -*- import re import urllib,urllib2 def translate(text): '''模拟浏览器的行为,向Google Translate的主页发送数据,然后抓取翻译结果 ''' #text 输入要翻译的英文句子 text_1=text #'langpair':'en'|'zh-CN'从英语到简体中文 values={'hl':'zh-CN','ie':'UTF-8','text':text_1,'langpair':"'en'|'zh-CN'"} url='http://translate.google.cn/translate_t' data = urllib.urlencode(values) req = urllib2.Request(url,data) #模拟一个浏览器 browser='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)' req.add_header('User-Agent',browser) #向谷歌翻译发送请求 response = urllib2.urlopen(req) #读取返回页面 html=response.read() #从返回页面中过滤出翻译后的文本 #使用正则表达式匹配 #翻译后的文本是'TRANSLATED_TEXT='等号后面的内容 #.*? non-greedy or minimal fashion #(?<=...)Matches if the current position in the string is preceded #by a match for ... that ends at the current position p=re.compile(r"(?<=TRANSLATED_TEXT=).*?;") m=p.search(html) text_2=m.group(0).strip(';') return text_2 if __name__ == "__main__": #text_1 原文 text_1=open('c:\\Users\\nwg\\Desktop\\192.168.210.228.html','r').read() # print('The input text: %s' % text_1) text_2=translate(text_1).strip("'") print('The output text: %s' % text_2) #保存结果 filename='c:\\Users\\nwg\\Desktop\\my.html' fp=open(filename,'w') fp.write(text_2) fp.close() report='Master, I have done the work and saved the translation at '+filename+'.' print('Report: %s' % report)
IMAP访问邮箱
import imaplib def fun(user,password): mail=imaplib.IMAP4_SSL('mail.ihep.ac.cn') try: mail.login(user,password) mail.logout() except imaplib.IMAP4.error,err: pass
相关文章推荐
- python笔记8--python网络编程
- Python 网络编程socket说明
- Python基础学习(5)网络编程socket、文件上传、粘包问题、socketserver、IO多路复用、线程与进程、进程池、线程池、上下文管理、协程
- python 之socket 网络编程
- Python学习笔记(七) -- Python Socket 网络编程
- Python网络编程笔记
- 网络编程_Python-网络模型.
- Python 网络爬虫 005 (编程) 如何编写一个可以 下载(或叫:爬取)一个网页 的网络爬虫
- Python Twisted网络编程框架与异步编程入门教程
- Day07 - Python 网络编程 Socket
- Python 初学笔记:Socket网络编程
- 【python】网络编程-UDP协议套接字
- Python案例-网络编程-异步解耦
- Python学习笔记(五)——模块|图形界面|网络编程
- 【python】socket网络编程
- python网络编程中,Cisco packet tracer 中多个路由器和两个交换机的配置
- 运维学python之爬虫中级篇(四)网络编程
- python 网络编程
- [Python] 网络编程(Socket)
- Python案例-网络编程-socket入门-server&client