我是靠谱客的博主 拼搏铃铛,最近开发中收集的这篇文章主要介绍python socket 长连接_python socket向百度发送http长连接请求 并做搜索 | 学步园,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#coding=gbk

'''

socket 给百度发送http请求

连接成功后,发送http的get请求,所搜索功能

'''

import socket

import sys

import time

if __name__=='__main__':

#创建套接字

try :

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

except socket.eorror,e:

print 'socket false:%s'%e

print 'socket ...'

#连接百度ip

try :

sock.connect(('220.181.111.148',80))

except socket.error,e:

print 'connect false %s'%e

sock.close()

print 'connect ...'

#发送百度首页面请求并且保持连接

try :

print 'send start...'

str='GET / HTTP/1.1rnHost:www.baidu.comrnConnection:keep-alivernrn'

sock.send(str)

except socket.eorror,e:

print 'send false'

sock.close()

data=''

data = sock.recv(1024)

while (1): '''如何判断数据接收完毕,在发送http 最前端,

包含发送数据文件大小属性Content-Length,

用字符匹配方式取得文件大小,

同过大小判断是否接收完毕。

'''

print data

beg = data.find('Content-Length:',0,len(data))

end = data.find('Content-Type:',0,len(data))

print beg

print end

if(beg == end):

print 'connecting closed'

break

num = long(data[beg+16:end-2])

print num

nums = 0

while (1):

data=sock.recv(1024)

print data

nums +=len(data)

if(nums >= num):

break

word = raw_input('please input your word----->')

str='''GET /s?wd=''' + word + ''' HTTP/1.1

Host:www.baidu.com

Connection: Keep-Alive

'''

print str

sock.send(str)

data = ''

data = sock.recv(1024)

sock.close()

print data

最后

以上就是拼搏铃铛为你收集整理的python socket 长连接_python socket向百度发送http长连接请求 并做搜索 | 学步园的全部内容,希望文章能够帮你解决python socket 长连接_python socket向百度发送http长连接请求 并做搜索 | 学步园所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部