http协议里面的CRLF问题?


windows的换行符是 \r\n 然而linux unix mac os的换行符是\n


 s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n')

那么上面这段代码 在Linux下改为:


 s.send(b'GET / HTTP/1.1
Host: www.sina.com.cn
Connection: close

')

这样会不会报错呢? windows下会不会正常工作呢? 就是把CRLF换成字符串的形式(按一下回车键)
这样可以吗?

http Linux 网络编程 windows

sh002 8 years, 9 months ago

 s.send(b'GET / HTTP/1.1
Host: www.sina.com.cn
Connection: close

')

这样语法应该不对吧。直接回车需要加反斜杠。


 s.send(b'GET / HTTP/1.1\
Host: www.sina.com.cn\
Connection: close\
\
')

不过这样处理了,回车就没用了。要在字符串中表示换行就要用转义字符的。
另外你是什么语言?这么写跟windows和linux下换行的表示方法有什么关系?

佐仓教徒母球 answered 8 years, 9 months ago

Your Answer