本文的目的是介绍错误的MIME“Content-Type”的http.FileServer响应的详细情况,特别关注错误wmi的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面
本文的目的是介绍错误的MIME“ Content-Type”的http.FileServer响应的详细情况,特别关注错误 wmi的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解错误的MIME“ Content-Type”的http.FileServer响应的机会,同时也不会遗漏关于与、意思?、aiohttp.client_exceptions.ContentTypeError: 0:json(content_type=‘??‘)、Ajax应用常见的HTTP ContentType设置的知识。
本文目录一览:- 错误的MIME“ Content-Type”的http.FileServer响应(错误 wmi)
- 与
- 意思?">意思?
- aiohttp.client_exceptions.ContentTypeError: 0:json(content_type=‘??‘)
- Ajax应用常见的HTTP ContentType设置
错误的MIME“ Content-Type”的http.FileServer响应(错误 wmi)
我正在使用http.FileServer来提供mp3文件的目录,该模板随后src
在javascript中。但是,该响应使用Content-Type
text/html
代替audio/mpeg
。我如何设置FileServer响应的mime类型,我看到了这个问题在golang HTTPFileServer的Content-Type标头上设置了’charset’属性,但是我仍然不确定如何覆盖mime类型。
我的代码如下所示:
fs := http.FileServer(http.Dir(dir))http.Handle("/media", http.StripPrefix("/media", fs))http.HandleFunc("/", p.playlistHandler)http.ListenAndServe(":5177", nil)
我得到的错误是:
HTTP "Content-Type" of "text/html" is not supported. Load of media resource http://localhost:5177/media/sample1.mp3 failed.
答案1
小编典典这不是内容类型的问题。fs
请求mp3时不会调用您的处理程序。您需要像这样/
在图案/media
和带状前缀中添加一个
http.Handle("/media/", http.StripPrefix("/media/", fs))
原因是在net /
http.ServeMux的文档中
模式命名固定的,有根的路径(例如“ /favicon.ico”)或有根的子树(例如“ / images
/”)(请注意结尾的斜杠)。较长的模式优先于较短的模式,因此,如果同时为“ / images /”和“ / images / thumbnails
/”注册了处理程序,则将为以“ / images / thumbnails /”开头的路径调用后一个处理程序将在“ / images
/”子树中接收对任何其他路径的请求。
只需/media
为路径注册处理程序,但在其后加上斜杠,它将视为a rooted subtree
,并将在该树下处理请求。
与
为了为 HTML5 Doctype 定义字符集,我应该使用哪种表示法?
-
短:
<meta charset="utf-8" />
-
长:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
意思?" alt="意思?">
意思?">意思?
META,网页Html语言里Head区重要标签之一
HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有
用的信息,以帮助正确和精确地显示网页内容。常用的HTTP-
EQUIV类型有:
1、Content-Type和Content-Language (显示字符集的设定)
说明:设定页面使用的字符集,用以说明主页制作所使用的
文字已经语言,浏览器会根据此来调用相应的字符集显示page
内容。
<Meta http-equiv="Content-Type" Content="text/html; Charset=gb2312">
该META标签定义了HTML页面所使用的字符集为GB2132,就是
国标汉字码。如果将其中的“charset=GB2312”替换成
“BIG5”,则该页面所用的字符集就是繁体中文Big5码。当你
浏览一些国外的站点时,IE浏览器会提示你要正确显示该页面
需要下载xx语支持。这个功能就是通过读取HTML页面META标签
的Content-Type属性而得知需要使用哪种字符集显示该页面
的。如果系统里没有装相应的字符集,则IE就提示下载。其他
的语言也对应不同的charset,比如日文的字符集是“iso-
2022-jp ”,韩文的是“ks_c_5601”。
Content-Type的Content还可以是:text/xml等文档类型;
Charset选项:ISO-8859-1(英文)、BIG5、UTF-8、
SHIFT-Jis、Euc、Koi8-2、us-ascii, x-mac-roman, iso-
8859-2, x-mac-ce, iso-2022-jp, x-sjis, x-euc-jp,euc-
kr, iso-2022-kr, gb2312, gb_2312-80, x-euc-tw, x-
cns11643-1,x-cns11643-2等字符集;Content-Language的
Content还可以是:EN、FR等语言代码。
aiohttp.client_exceptions.ContentTypeError: 0:json(content_type=‘??‘)
aiohttp.client_exceptions
- 问题
- 解决
问题
# 获取异步requests
async with aiohttp.ClientSession() as session:
async with session.post(url, headers=headers, data=data) as resp:
# 写入数据
csvWriter.writerow(await resp.json()) # 读取内容是异步的,需要挂起
print('库编号', data['p'], '爬取完毕!')
from aioHTTP_Requests import requests
async def req(URL):
headers = {"Accept": 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
"Accept-Language": "zh-CN,zh;q=0.9", "Host": "xin.baidu.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/72.0.3626.121 Safari/537.36", }
resp = await requests.get(URL,headers=headers,timeout=10,verify_ssl=False)
resp_text = await resp.json(encoding='utf-8')
return resp_text
if __name__ == "__main__":
print("HELLO WORLD")
URL = "https://xin.baidu.com/detail/basicAjax?pid=xlTM-TogKuTw9PzC-u6VwZxUBuZ5J7WMewmd"
loop = asyncio.get_event_loop()
loop.run_until_complete(req(URL))
csvWriter.writerow(await resp.json())
运行上面的程序会报错
解决
ContentTypeError:类型错误
在resp.json()
:传入编码文本类型参数即可:
resp.json(content_type='text/html',encoding='utf-8')
参考:Link
衷心感谢!
Ajax应用常见的HTTP ContentType设置
原文出处不详,anyway,感谢一下作者先。
ajax开发中,常遇到下面的几种情况:
1 服务端需要返回一段普通文本给客户端
2 服务端需要返回一段HTML代码给客户端
3 服务端需要返回一段XML代码给客户端
4 服务端需要返回一段javascript代码给客户端
5 服务端需要返回一段json串给客户端
对于每一种返回类型,规范的做法是要在服务端指定 response的contentType。
(当然 不指定绝大多数情况下也没什么问题 尤其是返回"非xml"的时候)
代码
普通文本 : text/plain
HTML代码 : text/html
XML代码 : text/xml
以上三个可以说是毫无争议的,但是另外两种情况 就要注意一下了.
javascript 的 contentType 按最标准的写法 应该是 application/javascript.
而常用的 text/javascript 已经被 rfc定义为废弃的.
但是,在这里暂时不建议使用 application/javascript
因为很多老旧浏览器并不支持 application/javascript
而所有浏览器都支持 text/javascript.
在标准和广泛的兼容性之间 还是暂且选择后者吧.
json 的 contentType 常见写法有: text/json & text/javascript .
但是 这个 text/json 其实是根本不存在的,而 text/javascript 在有些时候客户端处理起来会有歧义.
对于json的contentType,rfc里定义的标准写法是 :application/json.
在这里毫无疑问 我们应该选择标准写法的 application/json
最后,附一下ContentType清单:
常用的:
- text/plain
- text/HTML
- text/xml
- test/javascript
- application/json
- image/GIF
- image/JPEG
清单:
copy
我们今天的关于错误的MIME“ Content-Type”的http.FileServer响应和错误 wmi的分享就到这里,谢谢您的阅读,如果想了解更多关于与、意思?、aiohttp.client_exceptions.ContentTypeError: 0:json(content_type=‘??‘)、Ajax应用常见的HTTP ContentType设置的相关信息,可以在本站进行搜索。
本文标签: