java - 在java中解析HTTP 1.0 header 日期/时间戳

标签 java apache http response datestamp

我正在使用 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/

相关文章:

javascript - HTTP 文件下载 : Monitoring Download Progress

java - 按值和键显示树状图

java - 在像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

node.js - 如何通过apache连接 Node 服务器?

python - Django:每次请求都是 404

java - 多线程和并发上下文中的 HttpClient 行为

java - 在使用 spring applicationContext 的接口(interface)实现之间进行选择?

java - 无法访问扩展 fragment 的静态嵌套类中的 ListView

javascript - jquery如何获取post类型的ajax调用返回的状态消息?

php - 根目录下的 Laravel htaccess