当前位置: 首页 > 编程语言 > C#

如何获取url的内容类型?分享

时间:2023-04-10 16:02:50 C#

如何获取url的内容类型?我想要一个url类型。比如这是一个Html页面,页面类型是text/html,但是类型是text/xml。此页面的类型似乎是image/png但它是text/html。我想知道如何检测此类网址的内容类型?它应该像这样varrequest=HttpWebRequest.Create("http://www.google.com")asHttpWebRequest;if(request!=null){varresponse=request.GetResponse()asHttpWebResponse;字符串内容类型="";如果(响应!=null)contentType=response.ContentType;}HTTP响应头:content-type如需更详细的响应,请提供更详细的问题。使用(MyClientclient=newMyClient()){client.HeadOnly=true;字符串uri="http://www.google.com";byte[]body=client.DownloadData(uri);//注意应该是0-lengthstringtype=client.ResponseHeaders["content-type"];client.HeadOnly=false;//检查它不是二进制的...我们将使用text/,但可以//检查text/htmlif(type.StartsWith(@"text/")){stringtext=client.DownloadString(uri);控制台.WriteLine(文本);}}从标题中获取mime类型而不下载页面。只需在响应标头中查找内容类型。您可以通过响应的Http标头检测Content-Type,对于http://bayanbox.ir/user/ahmadalli/images/div.png标头是Connection:keep-aliveContent-Encoding:gzipContent-Type:文本/html;charset=utf-8Date:Tue,14Aug201203:01:41GMTServer:bwsTransfer-Encoding:chunkedVary:Accept-Encoding读取HTTP标头。HTTP标头会告诉您内容类型。例如:内容类型:application/xml。确定内容类型有两种方法URL调用的文件扩展名httpheader内容类型第一种是微软过去在一定程度上提倡的,现在已经不是很好的做法了。如果客户端有一个显示约束只接受某种内容类型,它会要求服务器提供标题accept:application/jsonaccept:text/htmlaccept:application/xml那么如果服务器可以提供其中之一并选择XML,它将返回标题内容类型为:application/xml的内容。但是,一些服务包含更多内容类型:application/xml;charset=utf-8而不是使用自己的标头进行字符编码。以上就是C#学习教程:如何获取url的内容类型?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: