我需要调用来自不同域的网页。当我从浏览器调用此页面时,它会正常响应。但是当我从服务器端代码或 jquery ajax 脚本调用它时,它会响应空 xml。
我正在尝试调用这样的页面或服务:
这通常从浏览器响应。但是当我像这样编写 ac# 代码时:
WebClient wc = new WebClient();
wc.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5";
wc.Headers[HttpRequestHeader.Accept] = "*/*";
wc.Headers[HttpRequestHeader.AcceptCharset] = "ISO-8859-1,utf-8;q=0.7,*;q=0.3";
wc.Headers[HttpRequestHeader.AcceptEncoding] = "gzip,deflate,sdch";
wc.Headers[HttpRequestHeader.AcceptLanguage] = "en-US,en;q=0.8";
wc.Headers[HttpRequestHeader.Host] = "otherdomain.com";
var response = wc.DownloadString("http://www.otherdomain.com/oddsData.jsp?odds_flash_id=11&odds_s_type=1&odds_league=all&odds_period=all&me_select_string=&q=93801");
Response.Write(response);
我得到空的 xml 作为响应:
<xml></xml>
如何从服务器端代码或客户端获得与浏览器相同的响应?
我在这里尝试了解决方案:Calling Cross Domain WCF service using Jquery
所以我不明白该怎么做,我无法应用描述的解决方案。