用CMake将Qt、VTK和ITK整合后,打开解决方案后添加新类时运行会出现“n个无法解析的外部命令”的错误。...2.在新生成的选项中,填上相关内容: ? 具体如下: 命令行:"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o "....关于moc文件,查看:qt中moc的作用 简单来说:moc是QT的预编译器,用来处理代码中的slot,signal,emit,Q_OBJECT等。
让ASP.NET Web API支持JSONP和W3C的CORS规范是解决“跨域资源共享”的两种途径,在《通过扩展让ASP.NET Web API支持JSONP》中我们实现了前者,并且在《W3C的CORS...在该方法中,我们从指定的HttpRequestMessage对象中提取表示请求站点的“Origin”报头值。...调用的Ajax请求,如下所示的请求和响应内容会被捕捉到,我们可以清楚地看到利用CorsMessageHandler添加的“Access-Control-Allow-Origin”报头出现在响应的报头集合中...在ASP.NET MVC应用用户调用Web API的View中,针对Ajax请求调用Web API的JavaScript程序被改写成如下的形式:我们在发送Ajax请求之前利用setRequestHeader...”)均出现在针对预检请求的响应中。
实体主体中的文档(如果存在的话)是一个错误消息。该错误消息通常无济于事,因为客户端无法修复服务器方面的问题。...实际上,在HTTP 1.0中,响应代码302的名称是”Moved Temporarily”,不幸的是,在实际生活中,绝大多数客户端拿它像303一样处理。...客户端提供了错误的证书,或者根本没有提供证书。这里的证书(credential)可以是一个用户名/密码,也可以市一个API key,或者一个认证令牌。...所以HTTP并不要求客户端在每个请求中都提供Content-Length报头。但HTTP服务器可以要求客户端必须设置该报头。...当你用LBYL请求来考察服务器是否会接受你的表示时,如果服务器确认会接受你的表示,那么你将获得响应代码100,否则你将获得417。 5XX 服务端错误 这些响应代码表明服务器端出现错误。
还有一方面,在server不须要先前信息时它的应答就较快。 1.http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址。...关于请求报头,会在后面的消息报头一节做统一的解释。 请求数据 请求数据不在GET方法中使用。而是在POST方法中使用。...或者指定“close”选项,通知server,在响应完毕后,关闭连接 Cache-Control:用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现)。...,请求的方法是POST,请求地址为http://patientapi.shoujikanbing.com/api/common/getVersion。...响应报文的实体採用的编码格式为为gzip,所以在Fiddler软件中显示的是乱码。
普通报头 ① Cache-Control:用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制) 请求时的缓存指令包括...、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age、s-maxage. eg,在发送的响应消息中设置普通报头域...eg:Accept-Language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。...⑥ Host(发送请求时,该报头域是必需的) Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的,eg: 我们在浏览器中输入:http://...为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和降低服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。
针对我们前面演示的应用场景,即显示在浏览器中的某个Web页面通过调用Web API的方式来获取它所需的资源,资源提供者为Web API本身,通过发送Ajax请求来调用Web API的JavaScript...CORS旨在定义一种规范让浏览器在接收到从提供者获取的资源时能够正决定是否应该将此资源分发给消费者作进一步处理。CROS利用资源提供者的显式授权来决定目标资源是否应该与消费者共享。...对于前面我们演示实例中调用Web API获取联系人列表的请求来说,它就具有如下一个“Origin”报头。...换言之,如果作了这样的设置,意味着由其提供的是一种公共资源,所以在做此设置之前需要慎重。如果针对请求着的授权不被允许,资源提供者可以将此响应报头值设置为“null”,或者让响应不具有此报头。...按照这里介绍的针对响应报头的授权原则,只有在“Access-Control-Expose-Headers”报头中指定的报头和简单响应报头才会包含在该方法返回的列表中。
转: ##【http://bdy.lqkweb.com】 ##【http://www.swpan.cn】 如果爬虫没有异常处理,那么爬行中一旦出现错误,程序将崩溃停止工作,有异常处理即使出现错误也能继续执行下去...:服务器内部出现错误 501:服务器不支持实现请求所需要的功能 2.异常处理 URLError捕获异常信息 #!...()方法请求的,此时用urlopen()无法请求,但是我们就会感觉到这样很费劲,难道每次请求都要创建build_opener(),所以我们需要设置使用urlopen()方法请求自动报头设置使用urlopen...()方法请求自动报头,也就是设置用户代理install_opener()将报头信息设置为全局,urlopen()方法请求时也会自动添加报头 #!...#添加报头到请求对象 urllib.request.install_opener(opener) #将报头信息设置为全局,urlopen()方法请求时也会自动添加报头 #请求 yh_dl
在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源,eg:GET /form.html HTTP/1.1 (CRLF) POST方法要求被请求服务器接受附在请求后面的数据...eg: Cache-Control 用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制),HTTP1.0使用的类似的报头域为...eg:Accept-Language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。...Host(发送请求时,该报头域是必需的) Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的,eg: 我们在浏览器中输入:http://www.guet.edu.cn...为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和降低服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断 CONNECT 保留将来使用 OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求 应用举例: GET方法:在浏览器的地址栏中输入网址的方式访问网页时...eg: Cache-Control 用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制),HTTP1.0使用的类似的报头域为...eg:Accept-Language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。...Host(发送请求时,该报头域是必需的) Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的,eg: 我们在浏览器中输入:http://www.guet.edu.cn...为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和降低服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。
其实我们的应用也可能会使用到分布式跟踪这种类似的功能,我们需要在某个应用中添加一些“埋点”,当它调用另一个应用时,这些埋点会自动添加到请求的报头集合中,从而实现在整个调用链中自动传递。...App3提供的API仅仅按照如下的方式将接收到的请求报头输出到控制台上。...四、 同名报头的处理 由于IOutgoingHeaderProcessor接口的AddHeaders方法返回的时一个IDisposable对象表示的上下文,意味着上下文之间可能出现嵌套的关系。...一般来说,这种情况正是我们希望的,但是如果我们在一个具有嵌套关系的多个上下文中添加了多个同名的报头,就有可能出现我们不愿看到的结果。...顾名思义,这个方法在添加指定请求报头之前,会先将现有的报头清除。
在C#中会有Socket,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API)。...eg: Cache-Control 用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制),HTTP1.0使用的类似的报头域为...eg:Accept-Language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。...Host(发送请求时,该报头域是必需的) Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的,eg: 我们在浏览器中输入:http://www.guet.edu.cn...为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和降低服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。
URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。...请求服务器删除Request-URI所标识的资源 应用举例: GET方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源,eg:GET /form.html HTTP...4xx:客户端错误--请求有语法错误或请求无法实现 5xx:服务器端错误--服务器未能实现合法的请求 常见状态代码、状态描述、说明: 200 OK //客户端请求成功 400 Bad Request...//客户端请求有语法错误,不能被服务器所理解 401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden /...在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload
在HTTP中内容协商的主要机制是以下请求报头: Accept:响应可接收的媒体类型,如“application/json”、“application/xml”,或者自定义媒体类型,如“application...服务器也可以查看HTTP请求的其它选项。例如,如果该请求含有一个X-Requested-With报头,它指示这是一个AJAX请求,在没有Accept报头的情况下,服务器可能会默认使用JSON。...注意,响应中的Content-Type报头已被设置成“application/json”。 控制器也可以返回一个HttpResponseMessage对象。...你可以设置状态码、添加HTTP报头等等。 对资源进行序列化的对象叫做媒体格式化器。媒体格式化器派生于MediaTypeFormatter类。...如果未找到匹配,内容协商器会尝试匹配请求体的媒体类型(有请求体时)。例如,如果请求含有JSON数据,内容协商器会找到JSON格式化器。
当然,在实际应用中,HTTP请求正文可以包含更多的内容。 HTTP协议之响应: 在接收和解释请求消息后,服务器返回一个 HTTP 响应消息。...4xx:客户端错误–请求有语法错误或请求无法实现 5xx:服务器端错误–服务器未能实现合法的请求 详细状态码点击查看 2、响应报头后述 3、响应正文就是服务器返回的资源的内容 HTTP 协议之消息报头篇...Cache-Control用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制),HTTP1.0使用的类似的报头域为...Accept-Language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。 Authorization 请求报头域主要用于证明客户端有权查看某个资源。...为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和降低服务器负载)的页面,我们可以使用 Expires 实体报头域指定页面过期的时间。
eg: Cache-Control 用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现)。...eg:Accept-Charset:iso-8859-1,gb2312.假设在请求消息中没有设置这个域。缺省是不论什么字符集都能够接受。...eg:Accept-Language:zh-cn.假设请求消息中没有设置这个报头域,server假定client对各种语言都能够接受。...该报头域是必需的) Host请求报头域主要用于指定被请求资源的Internet主机和port号,它通常从HTTP URL中提取出来的,eg: 我们在浏览器中输入:http://www.guet.edu.cn...Expires Expires实体报头域给出响应过期的日期和时间。为了让代理server或浏览器在一段时间以后更新缓存中(再次訪问曾訪问过的页面时。
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断 CONNECT 保留将来使用 OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求 应用举例: GET方法:在浏览器的地址栏中输入网址的方式访问网页时...eg: Cache-Control 用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制),HTTP1.0使用的类似的报头域为...eg:Accept-Language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。...Host(发送请求时,该报头域是必需的) Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的,eg: 我们在浏览器中输入:http://www.guet.edu.cn...为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和 降低服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。
Accept-Charset请求报头域用于指定客户端接受的字符集。eg:Accept-Charset:iso-8859-1,gb2312.如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受。...eg:Accept-Encoding:gzip.deflate.如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受。...eg:Accept-Language:zh-cn.如果请求消息中没有设置这个请求报头域,服务器假定客户端对各种语言都可以接受。...Cache-Control请求报头域 指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。...为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和降低服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。
由于缓存在大部分情况下只适用于成功状态的响应,如果服务端在处理请求过程中出现异常,之前设置的缓存报头是不应该出现在响应报文中的。...在如下所示的应用中,我们将针对请求的处理实现在ProcessAsync方法中,它有50%的可能会抛出异常。...不论是返回正常的响应内容还是抛出异常,这个方法都会先设置一个Cache-Control的响应报头,并将缓存时间设置为1小时(Cache-Control: max-age=3600)。...如下所示的两个响应报文分别对应正常响应和抛出异常的情况,我们会发现程序中设置的缓存报头Cache-Control: max-age=3600只会出现在状态码为“200 OK”的响应中。...在状态码为“500 Internal Server Error”的响应中,则会出现3个与缓存相关的报头(Cache-Control、Pragma和Expires),它们的目的都是禁止缓存或者将缓存标识为过期
另一方面,在服务器不需要先前信息时它的应答就较快。...,要完成请求必须进行更进一步的操作 400~499:客户端错误,请求有语法错误或请求无法实现 500~599:服务器端错误,服务器未能实现合法的请求 常见的状态码如下: 200 OK:客户端请求成功 400...通用报头 既可以出现在请求报头,也可以出现在响应报头中 Date:表示消息产生的日期和时间 Connection:允许发送指定连接的选项,例如指定连接是连续的,或者指定“close”选项,通知服务器,在响应完成后...,关闭连接 Cache-Control:用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制) 请求报头 请求报头通知服务器关于客户端求求的信息...Fiddler,在Android利用Fiddler进行网络数据抓包这篇文章中详尽介绍了如何使用Fiddler,在这里就不赘述了。
领取专属 10元无门槛券
手把手带您无忧上云