Discuz.Web/space/feedproxy.aspx.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.IO;
using System.Net;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Xml;
using Discuz.Common;
using Discuz.Forum;
using Discuz.Space.Utilities;
namespace Discuz.Space
{
/// <summary>
/// feed跨域访问代理。
/// </summary>
public class feedproxy : Page
{
public feedproxy()
{
if (ForumUtils.IsCrossSitePost(DNTRequest.GetUrlReferrer(), DNTRequest.GetHost()))
return;
// if (ForumUtils.IsCrossSitePost())
// return;
XmlDocument doc = new XmlDocument();
string url = DNTRequest.GetQueryString("url");
if (url == null || url == string.Empty)
return;
url = HttpUtility.UrlDecode(url);
string enc = "utf-8";
if (DNTRequest.GetQueryString("enc") != "")
{
enc = DNTRequest.GetQueryString("enc");
}
string err = "";
HttpWebResponse response = Globals.GetPageResponse(url, out err);
if (response == null)
{
HttpContext.Current.Response.Write(err);
HttpContext.Current.Response.End();
return;
}
Encoding encoding = Encoding.GetEncoding(enc);
HttpContext.Current.Response.ContentType = "text/html"; //response.ContentType;
HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
Stream instream = response.GetResponseStream();
doc.Load(instream);
XmlNode rootnode = doc.SelectSingleNode("/rss/channel");
StringBuilder json = new StringBuilder("{");
foreach (XmlNode node in rootnode.ChildNodes)
{
switch (node.Name.ToLower())
{
case "image":
break;
case "item":
后面还有 34 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
