内容简介:文章首发:
import multiprocessing
import random
import re
import sys
import time
import requests
import shadowsocks.local
def run_shadowsocks(host, port, password, method):
sys.argv = sys.argv[:1]
for arg in '-s {} -p {} -k {} -m {}'.format(host, port, password, method).split():
sys.argv.append(arg)
shadowsocks.local.main()
def run_from_page():
print("Downloading servers")
url = 'https://raw.githubusercontent.com/baijifeilong/resources/master/mastercrosswall/servers'
print("Servers downloaded")
text = requests.get(url).text
lines = [line for line in text.splitlines() if re.match('(\d+/){3}\d+', line)][:18]
random.shuffle(lines)
for line in lines:
_, host, port, password, method, _, _ = line.split()
print('\nProxy: method={}, password={}, host={}, port={}'.format(method, password, host, port))
process = multiprocessing.Process(target=run_shadowsocks,
kwargs=dict(host=host, port=port, password=password, method=method))
process.start()
try:
time.sleep(1)
elapsed = verify_proxy()
print("Valid proxy with elapsed {}".format(elapsed.microseconds / 1000_000))
process.join()
except Exception as e:
print("Invalid proxy:", e)
process.terminate()
print("Terminated.")
def verify_proxy():
rsp = requests.get('https://google.com', proxies=dict(https='socks5h://localhost:1080'), timeout=5)
assert rsp.status_code is 200
return rsp.elapsed
if __name__ == '__main__':
run_from_page()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 开源一个自用的Android事件分发中心库,实现类似系统广播功能。
- 开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现。
- 程序员亲自用代码给敲出飘落的雪花!网友:大神收我吧!
- 微信自用高性能通用key-value组件MMKV已开源!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
网站转换率优化之道
[美] Khalid Saleh、[美] Ayat Shukairy / 顾 毅 / 人民邮电出版社 / 2012-4 / 45.00元
内容简介: 怎样才能将访问者转化为顾客? 本书提供了一些切实可行的建议,比如如何说服访问者作出购买决定,如何避免用户因信息过量或导航繁琐而离开网站等。不论你是在设计或营销大型电子商务网站,还是在管理中小型在线业务,都可以从本书学会怎样使用市场营销原则、设计方法、可用性原则和分析数据来持续提升网站的转换率。 作者帮助过众多公司吸引在线顾客,有着丰富的实战经验,在书中细致讨论了从访问......一起来看看 《网站转换率优化之道》 这本书的介绍吧!