我正在使用 Apache 客户端发送 HTTP/1.0 请求并在 java 中接收响应。
现在我遇到了问题:响应的 header 包含属性“Date”,它可能是这三种格式:
Sun, 1994 年 11 月 6 日 08:49:37 GMT
//RFC 822,由 RFC 1123 更新Sunday, 06-Nov-94 08:49:37 GMT
//RFC 850,已被 RFC 1036 废弃Sun Nov 6 08:49:37 1994
//ANSI C 的 asctime() 格式
我的问题是,我可以使用 SimpleDateFormat
来解析这三种格式中的一种类型,但我找不到一个好的解决方案来解析这三种格式中的任何/全部。
(但是HTTP/1.0协议(protocol)要求支持所有这些格式,我只能支持其中一种)
确实谢谢
最佳答案
如果你无法将以毫秒为单位的时间放入服务器响应 header 的日期字段中(这不符合http规范),那么我认为唯一的方法如下:
创建三种格式 然后用每种格式解析日期值,并返回或使用未引发解析异常的值。
希望有帮助。
关于java - 在java中解析HTTP 1.0 header 日期/时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26790072/