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换成字符串的形式(按一下回车键)
这样可以吗?

阅读 5.3k
1 个回答
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下换行的表示方法有什么关系?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题