1.基于socket,发送http请求

import socket
import requests
# 方式一
list=['li','gh ','nn']
for i in list:
ret=requests.get('https://www.baidu.com/s?wd=%s' % i)
# 方式二
def func(key):
client=socket.socket()
client.connect(('www.baidu.com',80))
client.sendall(b'GET /s?wd=alex HTTP/1.0\r\nhost:www.baidu.com\r\n\r\n') #http协议
chunk_list=[]
while True:
chuck=client.recv(8096)
if not chuck:
break
chunk_list.append(chuck)
body=b''.join(chunk_list)
print(body.decode('utf-8'))
list=['li','gh ','nn']
for key in list:
func(key)
 单线程的并发:IO多路复用,非阻塞
import socket
import requests
# 方式一
list=['li','gh ','nn']
for i in list:
ret=requests.get('https://www.baidu.com/s?wd=%s' % i)
# 方式二
def func(key):
client=socket.socket()
client.connect(('www.baidu.com',80))
client.sendall(b'GET /s?wd=alex HTTP/1.0\r\nhost:www.baidu.com\r\n\r\n') #http协议
chunk_list=[]
while True:
chuck=client.recv(8096)
if not chuck:
break
chunk_list.append(chuck)
body=b''.join(chunk_list)
print(body.decode('utf-8'))
list=['li','gh ','nn']
for key in list:
func(key)
 Twised基于事件循环实现的异步非阻塞
 socket_list=[Foo(client1),Foo(client2),Foo(client3)]
conn_list=[client1,client2,client3]
err_list=[] while True:
# 方式一: #没有执行自己的fileno方法
# rlist,wlist,elist=select.select(socket_list,conn_list,[],0.005)#这里面的socket_list/conn_list内部会调用每一个值的fileno方法,获得返回值
# 方式二: # select就是利用该返回值去判检测的
# rlist, wlist, elist = select.select([Foo(client1),Foo(client2),Foo(client3)], [client1,client2,client3], [], 0.005)
if wlist: #执行类中的fileno方法
												

最新文章

  1. [No0000AD]7z源码完全移植至Visual Studio 2015
  2. Oracle常用SQL查询
  3. C和指针 第五章 警告总结
  4. tableview在第一次显示时会自动relodata
  5. angularjs探秘<一>
  6. Javascript模块化编程(一):模块的写法 (转载 学习中。。。。)
  7. RFC 2616
  8. PHP用户登录与注册页面
  9. Linux菜鸟之路[4]-cal,date,bc,echo $LANG,man
  10. C# - 数据库存取图片
  11. 第38章 刷新令牌 - Identity Server 4 中文文档(v1.0.0)
  12. centos7将网卡名字改成eth样式
  13. 星云STS 常用配置
  14. mongodb new file allocation failure
  15. java 代码块,静态代码块,构造器等的执行顺序
  16. 用highcharts展现你的数据
  17. Spring 3.1新特性之一:spring注解之@profile
  18. [洛谷P1074] 靶形数独
  19. php的yii框架开发总结9
  20. Win7 设置、访问共享文件夹

热门文章

  1. Android菜鸟的成长笔记(18)——绑定本地Service并与之通信
  2. Xbin-Store(分布式商城)项目所用Linux服务系列 FastDFS安装(五)
  3. Python属性和方法
  4. Robot Framework安装指南
  5. windows 7 SDK和DDK下载
  6. cefsharp 与webbrowser简单对比概述
  7. 避免让WPF资源字典变得杂乱臃肿
  8. WPF- 模拟触发Touch Events
  9. 小记Linux下对mac80211内核模块修改
  10. AFN小结(简单的封装)