
02.04.2009, 16:52
|
|
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами:
9423746
Репутация:
2399
|
|
Vid0k, в некоторих случаях твой скрипт будет виснуть.
вот:
PHP код:
def sendit(sock,packet='',timeout=1):
import time
if (packet!=''):
self.sock.send(packet)
self.sock.setblocking(0)
total_data=[]
data=''
begin=time.time()
while 1:
if total_data and time.time()-begin>timeout:
break
elif time.time()-begin>timeout*2:
break
try:
data=self.sock.recv(1024)
if data:
total_data.append(data)
begin=time.time()
else:
time.sleep(0)
except:
pass
return ''.join(total_data)
и испозуеш:
PHP код:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("www.google.ru", 80))
result = sendit(s,"GET / HTTP/1.1\r\nHost: google.ru\r\n\r\n")
print result
з.ы.: повторяюсь, но для получения страници лучше использовать уже готовую urllib
|
|
|