python 如何建立socket长连接

时间: 发布人:yjx54669516

python 如何建立socket长连接

已解决问题

谷歌yjx54669516用户在提交了关于“狐妖小红娘python 如何建立socket长连接”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-01-14T03:12:14。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,不知道说什么,送你一朵小红花吧 !

希望以下的回答,能够帮助你。

第1个回答

用户名:adam3421  

#cod啊四模好属效松省花领ing=gbk
'''''
socket给百度发送http请求

连接成功后罪孙士级某住感背权,发送http的get请来自求,所搜索功能

'''
importsocket
importsys
importtime
if__name__=='__main__':
#创建套接字
try:
sock=socket.socket(socket.AF_IN问限心ET,socket.SOCK_STREAM)
exceptsocket.eorror,e:
print'socketfalse:%s'%e
print'socket'

#连接百度ip
try:
sock.connect(('220.181.111.148',80))
exceptsocket.error,e:
print'connectfalse%s'%e
sock.close()
print'connect'

#发送百度首页面请求并且保持连接
try:
print'sendstart'
str='GET/h**TTP/1.1\r\nh**ost:www.baid经门干见样加行取下染微u.com\r\nConnection:keep-alive\r\n\r\n'
sock.send(str)
exceptso问答cket.eorror,e:
print'sendfalse'
sock.close()

data=''
data=sock.recv(1024各控力针学保营非如)
while(1):'''''如何判断**接收完毕,在发送http最前端,
包含发送**文件倍十企基对大小性Content-Le争价义ngth,
用字符匹配方式取得文件大小,
同过大小判断是否接收完毕。
'''
printdata
beg=data.find('Co消罪议护翻屋家往白ntent-Length:',0,len(data))
end=data.find('Content-Type:',0,len(data))
printbeg
printend
if限所顾失(beg==end):
print'conne什日帝浓伟九体尼足ctingclosed'
bre**
**m=long(data[beg+16:end-2])
print**m
**ms=0
while(1):
data=sock.recv(1024)
printda影耐矿细燃江界液特ta
**ms+=len(data)
if(**ms>=**m):
bre**
朝输激浓报把谈立京死word=raw_input('pleaseinp诗高远utyourword----->')
str='''''GET/s?wd='''+word+'''''h**TTP/1.1
h**ost:www.bai**.com
Connection:Keep-Alive

'''
printstr
sock.send(str)
data=''
data=sock.recv(1024)
so已市厚ck.close()
printdata