Reading text lines from a socket

Sandip Bhattacharya sandip at linux-delhi.org
Sun Feb 29 01:19:36 CET 2004


[Reposting to the general list too]

Lloyd Kvam wrote:
> Sockets deal with packetized data.  The network protocols do not guarantee
> keeping the data in line oriented chunks - even if the data starts out 
> that way.
> 
> You need to deal with extracting lines from chunks.  So long as the 
> connection is
> working properly, this is easy.  The challenge occurs when the remainder 
> of a line
> never gets delivered.  The best strategy depends upon the details of 
> what you are
> doing.

I understand that. In Python using sockets is like using sockets in C.

However, I was looking for a python equivalent of the perl idiom of 
opening a socket and getting a file handle ... and then reading this 
file handle as any other line oriented file using $socket->readline

I am trying to write a simple Netcraft style script which tries the HEAD 
method on a webserver and reads the Server: header from the response. I 
would not like to use urllib, because even a call to something like 
urllib.info() reads in the complete webpage on an open().

Even if this particular problem could be done elegantly, I would be 
interested to know the answer to my original question because the 
feature of reading a line at a time from a socket will help me in a lot 
of other places in the future.

- Sandip

-- 
Sandip Bhattacharya
sandip (at) puroga.com
Puroga Technologies Pvt. Ltd.
Work: http://www.puroga.com        Home: http://www.sandipb.net

GPG: 51A4 6C57 4BC6 8C82 6A65 AE78 B1A1 2280 A129 0FF3





More information about the Python-list mailing list