不要直接对Request.Headers["If-Modified-Since"]使用Convert.ToDateTime

前一段时间图片处理服务一直报“System.FormatException: 该字符串未被识别为有效的 DateTime”。查了几天,没什么效果,昨天夜里写了日志记录,终于发现问题所在了。

一般来说 浏览器带到服务器端的If-Modified-Since应该是这种格式 Sun, 15 Nov 2009 04:57:01 GMT,但某些浏览器带过来的格式通过Request.Headers["If-Modified-Since"]获取到的却是:Sun, 15 Nov 2009 04:57:01 GMT; length=11162。 所以如果我们直接 Convert.ToDateTime(Request.Headers["If-Modified-Since"])就会错。

解决办法如下:

DateTime clientIfModifiedSince = DateTime.Now.AddDays(-100);

string if_Modified_Since =Request.Headers["If-Modified-Since"];
                    //Sun, 15 Nov 2009
04:57:01 GMT; length=11162
                    string[]
if_Modified_Since_array = if_Modified_Since.Split(';');
                   
if (if_Modified_Since_array.Length > 1)
                   
{
                        clientIfModifiedSince =
Convert.ToDateTime(if_Modified_Since[0]);
                   
}
                    else
                   
{
                        clientIfModifiedSince =
Convert.ToDateTime(if_Modified_Since);
                    }

不要直接对Request.Headers["If-Modified-Since"]使用Convert.ToDateTime的更多相关文章

  1. Retrofit2.0+OkHttp设置统一的请求头(request headers)

    有时候要求Retrofit2的接口中每个都要增加上headers,又不想做重复的事情,可以使用这种方法来为每个request请求都设置上相同的请求头header. 修改请求头request heade ...

  2. HTTP响应头信息(Response Headers)与请求头信息(Request Headers)

    打开了电影天堂网站,我们鼠标右键“检查”->打开“开发者工具”->选择“Network”. 刷新网页,选择某一文件点击(此处我是点击db.css),可以观察到Response Header ...

  3. 请求头(request headers)和响应头(response headers)解析

    *****************请求头(request headers)***************** POST /user/signin HTTP/1.1    --请求方式 文件名 http ...

  4. 问题:request.Headers;结果:HttpWebRequest.Headers 属性

    指定构成 HTTP 标头的名称/值对的集合. Headers 集合包含与请求关联的协议标头.下表列出了由系统或由属性或方法设置但未存储在 Headers 中的 HTTP 标头.   标头 设置方 Ac ...

  5. .NET Core 中读取 Request.Headers 的姿势

    Request.Headers 的类型是 IHeaderDictionary 接口,对应的实现类是 HeaderDictionary ,C# 实现源码见 HeaderDictionary.cs . H ...

  6. Using Request Headers for Metadata Address

    问题描述 我将一个在本地调试正常的service部署到服务器后遇到了添加服务引用失败的问题.在把配置文件中基址使用的localhost替换成服务器的ip地址后问题得到了解决.但我感觉这并不是一个因为粗 ...

  7. HTTP请求协议中请求报文(Request Headers)跟响应报文(Response Headers)的简单理解

    背景 今儿个一新来的应届生问我,开发模式中所看到的web请求的请求头里的属性怎么理解,我便根据自己的经验随便拉开一个请求跟他聊了起来,顺便自己记录下文字版,以后再有交流直接发地址给他就好了,嘻嘻,机智 ...

  8. 直接复制浏览器Request headers中的进行copyheaders进行转换

    先导入函数库 from copyheaders import headers_raw_to_dict 然后复制请求头 headers = b'''accept: application/json, t ...

  9. Python 接口之request ,headers格式不对

    复制heardes格式,模拟请求报错 原因:粗心,headers带了空格

随机推荐

  1. [Guava官方文档翻译] 7. Guava的Immutable Collection(不可变集合)工具 (Immutable Collections Explained)

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3538666.html ,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体 ...

  2. 使用C++11安全的在线程中控制UI

    本篇文章由:http://www.sollyu.com/using-the-c11-secure-online-process-control-ui/ 说明 首先这里使用的是 Visual Studi ...

  3. Poj/OpenJudge 1042 Gone Fishing

    1.链接地址: http://bailian.openjudge.cn/practice/1042/ http://poj.org/problem?id=1042 2.题目: Gone Fishing ...

  4. hdu 1576 A/B

    原题链接:hdu 1576 A/B 同样是用扩展的欧几里得算法.A = 9973k+n = xB,从而转化为:xB-9973k=n求解x即可. 具体扩展欧几里得算法请参考:hdu 2669 Roman ...

  5. Chocolatey:Windows软件包管理器

    Chocolatey 2016-08-03 https://chocolatey.org/ Chocolatey是一个Windows软件包管理器,就像Nuget或者npm,或者说类似Linux上的ap ...

  6. echarts雷达图

    用echarts展现雷达图的定制 <!doctype html> <html> <head> <meta charset="utf-8"& ...

  7. GroupBox 重绘圆角边框和文字

    private void GroupBox_Paint(object sender, PaintEventArgs e) { if (sender != null && sender ...

  8. AVAudioRecorder 录制音频

    AVFoundation 中使用AVAudioRecorder 类添加音频录制功能是非常简单的, AVAudioRecorder构建与Audio Queue Services之上是一个功能强大且代码简 ...

  9. C语言到底怎么了?

    自2015年11月开始,所有C语言系列都呈现出衰落之势.在超过15年的时间里,C语言在编程语言排行榜中的占比一直有15%-20%,但今年却突然急转直下,目前占比已不足10%,且目前看来回天乏力. 那么 ...

  10. NpoiUtil

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...