不要直接对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. InstallShield Clone dialog

    Browse to Dialogs view, right-click an existing dialog, click Clone and rename the cloned dialog. Wh ...

  2. linux 判断指定用户对指定目录具有的权限

    脚本名:power.sh 脚本内容: ------------------------------------------- 注意:必须以root 身份执行该脚本. 脚本power.sh 需要两个参数 ...

  3. ajaxSubmit() 上传文件和进度条显示

    1.  首先引用js文件 <script type="text/javascript" src="/js/jquery/jquery.form.js"&g ...

  4. thymeleaf 基本语法

    四.标准表达式语法 · 简单表达式 (simple expressions) ${...}  变量表达式 *{...}  选择变量表达式 #{...}  消息表达式 @{...}  链接url表达式 ...

  5. PHP初学留神(四)

    这周去听了Google的演讲,从Idea到Code的商业宣传.不过因为是头一次听英文演讲,心里还是很舒服.这周主要做的是Bootstrap前端美化,这个框架也比较好玩.在php上面花的时间相对少了,也 ...

  6. mysql更改默认存储引擎

    在mysql的官网上看到在mysql5.5以上的版本中已经更改了默认的存储引擎,在5.5版本以前是Myisam以后是Innodb. InnoDB as the Default MySQL Storag ...

  7. PHPCMS 核心代码与 www 分离部署

    为了满足更多用户二次开发的兴趣与爱好,同时,为了更加安全.可以通过修改入口代码的包含方式来让主程序和www程序分开. 先看下面目录结构: (图1) 我们需要将 phpcms 目录和 index.php ...

  8. 制作按钮(Button)

    按钮的核心作用 1.按钮能接收单击并触发响应事件. 2.按钮被单击时能同时触发多个响应事件. 3.按钮可以有普通.悬停.单击.禁用等多个状态的不同表现. 4.广泛的说,按钮的核心在于接收事件,任何可以 ...

  9. CODEVS 1067 机器翻译

    题目描述 Description 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义 来替换.对于每个英 ...

  10. ee_15_mvc_db_page----demo---bai

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...