亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gmail_transport.py

?? 一個用Python的gmail功能庫
?? PY
字號:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# ----------------------------------------------------------------------------------
# Copyleft (K) by Jose Rodriguez. This source is free (GPL)
# Partially based on John Nielsen ASPN recipe (http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/301740)
# Partially based on Alessandro Budai recipe (http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/456195)
# ----------------------------------------------------------------------------------


# ClientCookie to connection through a proxy using the CONNECT method, (useful for SSL)
# tested with python 2.4

import mechanize as ClientCookie
import urllib
import httplib
import socket
import base64


def split_proxy_URL(proxy):
	if proxy is None:
	    return None, None, None

	try:
	    if proxy[:7] != 'http://':  # Ensures proxy string begins with 'http://'
	        proxy = 'http://' + proxy
	except:
	    pass

	proxy_username = proxy_password = None

	urltype, r_type = urllib.splittype(proxy)
	proxy, XXX = urllib.splithost(r_type)
	if '@' in proxy:
	    proxy_username, proxy = proxy.split('@', 1)
	    if ':' in proxy_username:
	        proxy_username, proxy_password = proxy_username.split(':', 1)

	return proxy, proxy_username, proxy_password



class ProxyHTTPConnection(httplib.HTTPConnection):

	_ports = {'http' : 80, 'https' : 443}

	def request(self, method, url, body=None, headers={}):
		#request is called before connect, so can interpret url and get
		#real host/port to be used to make CONNECT request to proxy
		proto, rest = urllib.splittype(url)
		if proto is None:
			raise ValueError, "unknown URL type: %s" % url

		host, rest = urllib.splithost(rest) # get host
		host, port = urllib.splitport(host) #try to get port

		#if port is not defined try to get from proto
		if port is None:
			try:
				port = self._ports[proto]
			except KeyError:
				raise ValueError, "unknown protocol for: %s" % url

		self._real_host = host
		self._real_port = port
		httplib.HTTPConnection.request(self, method, url, body, headers)
		

	def connect(self):
		httplib.HTTPConnection.connect(self)

		self.send("CONNECT %s:%d HTTP/1.0\r\n" % (self._real_host, self._real_port))
		if self.proxy_user is not None and self.proxy_passwd is not None:
			cred = base64.encodestring("%s:%s" % (urllib.unquote(self.proxy_user), urllib.unquote(self.proxy_passwd))).strip()
			self.send("Proxy-authorization: Basic %s\r\n" % cred)

		self.send("User-Agent: Mozilla/5.0 (Compatible; libgmail-python)\r\n\r\n")
		response = self.response_class(self.sock, strict=self.strict, method=self._method)
		(version, code, message) = response._read_status()
		#probably here we can handle auth requests...
		if code != 200:
			#proxy returned and error, abort connection, and raise exception
			self.close()
			raise socket.error, "Proxy connection failed: %d %s" % (code, message.strip())

		#eat up header block from proxy....
		while True:
			line = response.fp.readline() #should not use directly fp probablu
			if line == '\r\n': break


	@classmethod
	def new_auth(cls, proxy_host, proxy_user = None, proxy_passwd = None):
		cls.proxy_host = proxy_host
		cls.proxy_user = proxy_user
		cls.proxy_passwd = proxy_passwd

		return cls



class ProxyHTTPSConnection(ProxyHTTPConnection):
	
	default_port = 443

	def __init__(self, host, port = None, key_file = None, cert_file = None, strict = None):
		ProxyHTTPConnection.__init__(self, host, port)
		self.key_file = key_file
		self.cert_file = cert_file
	
	def connect(self):
		ProxyHTTPConnection.connect(self)
		#make the sock ssl-aware
		ssl = socket.ssl(self.sock, self.key_file, self.cert_file)
		self.sock = httplib.FakeSocket(self.sock, ssl)

		
class ConnectHTTPHandler(ClientCookie.HTTPHandler):

	def __init__(self, proxy=None, debuglevel=0):
		self.proxy, self.proxy_user, self.proxy_passwd = split_proxy_URL(proxy)
		ClientCookie.HTTPHandler.__init__(self, debuglevel)

	def do_open(self, http_class, req):
		if self.proxy is not None:
			req.set_proxy(self.proxy, 'http')
		return ClientCookie.HTTPHandler.do_open(self, ProxyHTTPConnection.new_auth(self.proxy, self.proxy_user, self.proxy_passwd), req)
	


class ConnectHTTPSHandler(ClientCookie.HTTPSHandler):

	def __init__(self, proxy=None, debuglevel=0):
		self.proxy, self.proxy_user, self.proxy_passwd = split_proxy_URL(proxy)
		ClientCookie.HTTPSHandler.__init__(self, debuglevel)

	def do_open(self, http_class, req):
		if self.proxy is not None:
			req.set_proxy(self.proxy, 'https')
		return ClientCookie.HTTPSHandler.do_open(self, ProxyHTTPSConnection.new_auth(self.proxy, self.proxy_user, self.proxy_passwd), req)


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品啪在线观看国产60岁| 欧美日精品一区视频| 日本欧美一区二区| 天天综合网天天综合色| 日韩激情在线观看| 亚洲国产中文字幕| 午夜精品久久久久久久99水蜜桃| 亚洲国产一区视频| 麻豆成人av在线| 久久爱另类一区二区小说| 狠狠狠色丁香婷婷综合激情| 韩国三级中文字幕hd久久精品| 韩国精品久久久| 99视频一区二区| 欧美伊人久久久久久久久影院| 精品视频在线看| 欧美一区二区啪啪| 亚洲国产高清不卡| 亚洲国产日韩一级| 国产乱子伦一区二区三区国色天香| 精品一区二区三区免费毛片爱| 国产福利精品导航| 欧美视频中文字幕| 精品国产91亚洲一区二区三区婷婷| 久久精品一二三| 亚洲免费伊人电影| 免费在线一区观看| 欧美男人的天堂一二区| 精品免费视频一区二区| 中文字幕一区二区不卡| 日韩福利电影在线观看| 国产精品18久久久久久vr| 91免费视频网址| 精品日韩一区二区三区免费视频| 国产日产精品一区| 爽好久久久欧美精品| 国产精品18久久久久久久久久久久| 色综合夜色一区| 精品久久久久久最新网址| 国产精品传媒入口麻豆| 免费看日韩a级影片| 99久久精品费精品国产一区二区| 3d动漫精品啪啪| 136国产福利精品导航| 激情综合色综合久久| 欧美日韩精品福利| 亚洲人成7777| 粉嫩av一区二区三区粉嫩| 日韩一区二区精品葵司在线| 中文字幕在线观看不卡| 狠狠色丁香久久婷婷综| 91麻豆精品久久久久蜜臀| 国产精品久久久久久妇女6080 | 欧美成人a视频| 一区二区三区不卡在线观看| 国内精品伊人久久久久av影院| 欧美三级日本三级少妇99| 国产精品成人一区二区艾草 | 国产精品美女视频| 久草这里只有精品视频| 欧美日韩不卡视频| 一区二区三区日韩| 91丨porny丨户外露出| 久久精品一区二区| 国产精品资源在线观看| 亚洲精品一区二区三区蜜桃下载| 日韩和欧美一区二区| 欧美剧情电影在线观看完整版免费励志电影 | 久久疯狂做爰流白浆xx| 欧美日韩一级大片网址| 亚洲一级在线观看| 欧美视频一区二区| 亚洲国产人成综合网站| 欧美日韩免费视频| 亚洲成人自拍偷拍| 91精品欧美综合在线观看最新| 亚洲国产精品久久久久秋霞影院| 色诱亚洲精品久久久久久| 亚洲欧美日韩精品久久久久| 99精品久久久久久| 一区二区视频免费在线观看| 欧洲精品在线观看| 亚洲午夜av在线| 日韩一区二区电影在线| 裸体健美xxxx欧美裸体表演| 欧美精品一区二区三区久久久| 加勒比av一区二区| 中文字幕av在线一区二区三区| 成人午夜激情影院| 亚洲精品午夜久久久| 在线观看91精品国产麻豆| 麻豆91在线播放| 国产女人水真多18毛片18精品视频| 粉嫩欧美一区二区三区高清影视| 最新欧美精品一区二区三区| 在线观看91视频| 久久精品久久久精品美女| 亚洲国产精品成人综合| 91电影在线观看| 欧美a一区二区| 中国av一区二区三区| 在线观看欧美日本| 精东粉嫩av免费一区二区三区| 亚洲欧洲日产国码二区| 欧美日韩美少妇| 成人一区在线看| 婷婷成人综合网| 中文乱码免费一区二区| 欧美美女黄视频| 国产99久久久国产精品潘金| 一卡二卡三卡日韩欧美| 日韩欧美亚洲一区二区| 色婷婷国产精品| 韩国女主播一区| 亚洲6080在线| 亚洲人精品午夜| 久久久五月婷婷| 欧美午夜一区二区| 国产·精品毛片| 青青草原综合久久大伊人精品| 国产亚洲美州欧州综合国| 欧美日韩一级大片网址| 成人黄色国产精品网站大全在线免费观看| 亚洲一区免费观看| 日本一区二区电影| 欧美mv和日韩mv的网站| 欧美日韩另类国产亚洲欧美一级| 国产成a人无v码亚洲福利| 视频在线观看一区| 一区二区三区成人在线视频| 国产网站一区二区| 精品国产乱码久久久久久图片| 在线国产电影不卡| 91在线视频免费观看| 国产精品小仙女| 精品在线亚洲视频| 日本不卡123| 午夜精品一区二区三区电影天堂| 亚洲欧美影音先锋| 亚洲国产高清不卡| 国产精品视频在线看| 久久综合丝袜日本网| 日韩欧美一二三四区| 日韩欧美你懂的| 日韩一区二区三区电影 | 免播放器亚洲一区| 亚洲高清免费一级二级三级| 亚洲色大成网站www久久九九| 欧美激情在线看| 中文字幕乱码日本亚洲一区二区 | 国产亚洲短视频| 久久中文娱乐网| 久久女同性恋中文字幕| 26uuu国产电影一区二区| 日韩欧美国产小视频| 日韩美女主播在线视频一区二区三区| 欧美日韩精品一区二区天天拍小说| 在线免费精品视频| 欧美日韩高清影院| 日韩免费高清av| 欧美精品一区二区三区在线 | 中文字幕佐山爱一区二区免费| 国产精品色在线| 亚洲乱码日产精品bd | 日韩欧美一二区| 久久精品网站免费观看| 久久久久免费观看| 国产精品久久久久桃色tv| 中文字幕一区二区三中文字幕| 中文字幕一区日韩精品欧美| 亚洲午夜影视影院在线观看| 天堂成人免费av电影一区| 麻豆免费精品视频| 成人免费毛片a| 欧美在线观看你懂的| 欧美一二三区精品| 国产精品美女久久久久aⅴ国产馆| 亚洲欧美日韩精品久久久久| 亚洲午夜久久久久久久久电影院 | 日韩精品一区二区三区视频播放 | 亚洲国产成人高清精品| 久久精品国产在热久久| 成人永久免费视频| 欧美丰满少妇xxxxx高潮对白| 精品美女一区二区三区| 1024成人网| 久久99精品久久久久| 成人av片在线观看| 91麻豆精品国产91久久久更新时间 | 天天色天天操综合| 粉嫩av一区二区三区在线播放 | 亚洲日本va在线观看| 日韩精品成人一区二区在线| 成人免费视频国产在线观看| 欧美精品一级二级| 亚洲免费观看高清在线观看| 激情文学综合插| 欧美精品粉嫩高潮一区二区| 欧美国产乱子伦| 久久99最新地址|