Sending HTTP headers via plain sockets

MRAB python at mrabarnett.plus.com
Thu Jul 22 22:33:34 EDT 2010


Navkirat Singh wrote:
> Aaah figured it out...!!
> 
> It was elementary, I was lacking the carriage return and line feed 
> characters at the end of the status and header line. Here is how I 
> solved it:
> 
>         hostsock.send(b'HTTP/1.1 301 Moved Permanently\r\nLocation: 
> http://www.example.com\r\n')
> 
> Regards,
> Nav
> 
You might want to note that the .send method doesn't guarantee to send
all the bytes, so you might want to use .sendall instead (it's in the
documentation).

> On 23-Jul-2010, at 7:00 AM, Navkirat Singh wrote:
> 
>> Hi Guys,
>>
>> I am very new to python and I am trying to send HTTP headers for 
>> redirection using sockets in python 3, but in vain. If I use the meta 
>> tag REFRESH method the redirection works. Please advise what I am 
>> missing, below is the snippet of my code:
>>
>> hostsock is the socket object
>>
>>
>> print('Redirecting client')   
>>         hostsock.send("""HTTP/1.1 301 Moved Permanently
>>         Location: http://www.example.com"")
>>
>>
>> I have been up all night trying to figure this one out : ( I would be 
>> grateful if someone could point me in the right direction
>>
>> Regards,
>> Nav
> 




More information about the Python-list mailing list