开发时遇到个问题,程序访问数据库数据,给服务器发送请求时,老是报错,返回的错误页面是:
HTTP Status 415 - Unsupported Media Type
type Status report
message Unsupported Media Type
description The server refused this request because the request entity is in a format not supported by the requested resource for the requested method (Unsupported Media Type).
<?xml version="1.0" encoding="UTF-8"?>
好吧 ,然后自己又去手动设置请求中的头部,这下XML的编码格式就应该没错了吧。
Dim AppDatbus As New MSXML2.XMLHTTP
AppDatbus.setRequestHeader("CONTENT-TYPE", "text/xml")
后来发现还是没用,求助微软大神以后,找到一份看起来好像很吊的文章,虽然看不懂,但是还是拿出来跟大家分享下,觉得自己或是大家以后也许用得上:
如何通过使用 XMLHTTP 或 ServerXMLHTTP 对象提交窗体数据
当自己手足无措的时候,数据库大叔来了句,我帮你看看,依旧改了请求头部,只是改成了
Dim AppDatbus As New MSXML2.XMLHTTP
AppDatbus.setRequestHeader("CONTENT-TYPE", "application/xml")
自己查找资料发现:"application/xml" 和 "text/xml"两种类型, 二者功能一模一样,唯一的区别就是编码格式,text/xml忽略xml头所指定编码格式而默认采用us-ascii编码,而application/xml会根据xml头指定的编码格式来编码:
具体的文章网址如下,有兴趣深究可以看下:application/xml and text/xml的区别