获取网页编码,为什么有的只返回“text/html”,而有的确返回完整的“text/html; charset=gb2312”
代码如下:
String^ strWebPageAddress; // 网址
String^ strContentType;
Uri^ uri;
WebRequest^ wr;
Stream^ stm;
MessageBox^ msgbox;
for(int i = 0; i < this->dataGridView1->DisplayedRowCount(false) - 1; ++i)
{
strWebPageAddress = this->dataGridView1[this->pageAddressDataGridViewTextBoxColumn->Name, i]->Value->ToString();
uri = gcnew Uri( strWebPageAddress );
wr = WebRequest::Create( uri );
stm = wr->GetResponse()->GetResponseStream();
strContentType = wr->GetResponse()->Headers[ L"Content-Type" ];
msgbox->Show( strContentType );
stm->Close();
}
从数据库中获取以下5个网址代入strWebPageAddress进行测试:
http://www.baidu.com/
http://jxfc.online.jx.cn/
http://www.2ed.cn/ArticleList-156.shtml
http://www.jict.org/jictold/quality.htm
http://html.hjsm.tom.com/html/book/27/875/42d953464,0fa5.htm
msgbox显示strContentType中的返回内容按以上网址顺序分别为:
text/html
text/html
text/html; charset=gb2312
text/html
text/html; charset=utf8
用IE查看相关网页源代码顺序为
text/html; charset=gb2312
text/html; charset=gb2312
text/html; charset=gb2312
text/html; charset=gb2312
text/html; charset=utf8
为什么无法返回完整的信息???如何解决这个问题???