最近学习MVC 想通过AJAX跨域访问外部连接,并读取他的title标签的值。求指教
看了你们的回复你知道你的需求了,你用ajax调Action的方法就行了,然后在Action中用HttpWebrequest类与HttpWebresponse 类来构造一个http请求,然后得到响应的资源,再从响应中取title的值 就行了,
我提供下构造请求的代码
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.cnblogs.com");
request.Method = "GET";
WebHeaderCollection headers = new WebHeaderCollection();
headers.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
request.Headers = headers;
request.ContentType = "text/html; charset=utf-8";
WebResponse response = request.GetResponse();
var reStream = response.GetResponseStream(); //这里就已经得到响应的字符流了
StreamReader read = new StreamReader(reStream,Encoding.UTF8);
string content = read.ReadToEnd();//从这里面过滤到你想要的title值就行了
谢谢大家帮忙,时间问题我先用上这个了
一般ajax访问的都是处理过的json数据吧。
我是想访问别的网页的页面源码,然后读取其中的title标签,求指教
getjson 有办法获取其他网页的源码吗
@大芝麻: 如果没有处理的知,那就是网页的整个源码。如果只是获取title应该还是比较简单了,如果想获取其它的信息,那就麻烦了,因为有些信息展示会依赖js的显示,但直接获取源码是不会渲染的。
@angelshelter: 恩呢只要获取title就行了,具体应该怎么做了,小弟初学MVC,大侠能告诉具体怎么些吗
@angelshelter: 我写成这个样子不行
<script>
var x=$.getJSON("/Picture/Index", function (json) {
alert(json);
}).responseText;
alert(x);
</script>
@大芝麻: 你刚不是说跨域的吗,是跨域的就要完整的url呀
@angelshelter: 我用了www.baidu.com也不行
@大芝麻: 用IE或是谷歌浏览器,关键是要浏览器支持跨域访问,这涉及到安全问题。
@angelshelter: 我就是用的谷歌的浏览器的,可是还不行,唉 弄了半天了