C# .NET将变量传递给第二个代码块
这个问题很简单,虽然我很困惑,但我发现自己在控制器中经常使用这个函数,所以将它移动到了我的第一个方法。foreach循环有一个最终字符串FinalURL如何将其传递到httpWebRequest?我是否需要创建另一个方法并在休息后调用它?在我使用viewbag变量之前,但在本文中我无法使用它。如果我去掉括号,它会说不是所有路径都返回函数,我相信这不是正确的方法C# .NET将变量传递给第二个代码块,c#,asp.net,.net,C#,Asp.net,.net,这个问题很简单,虽然我很困惑,但我发现自己在控制器中经常使用这个函数,所以将它移动到了我的第一个方法。foreach循环有一个最终字符串FinalURL如何将其传递到httpWebRequest?我是否需要创建另一个方法并在休息后调用它?在我使用viewbag变量之前,但在本文中我无法使用它。如果我去掉括号,它会说不是所有路径都返回函数,我相信这不是正确的方法 namespace Linkofy.Models { public class MajesticFunctions { publ
namespace Linkofy.Models
{
public class MajesticFunctions
{
public static int[] MajesticChecker(string[] URLtests)
{
foreach (string URLt in URLtests)
{
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(URLt);
myHttpWebRequest.AllowAutoRedirect = false;
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
int resulting = (int)myHttpWebResponse.StatusCode;
if (resulting == 200)
{
String Urlnew = URLt;
String FinalURL = URLt.Replace("https://", "").Replace("http://", "");
break;
}
}
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=" + FinalURL + "&datasource=fresh");
{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
JObject jObject = JObject.Parse(reader.ReadToEnd());
JToken Trusty = jObject["DataTables"]["Results"]["Data"][0]["TrustFlow"].Value<int>();
JToken City = jObject["DataTables"]["Results"]["Data"][0]["CitationFlow"].Value<int>();
JToken RIPy = jObject["DataTables"]["Results"]["Data"][0]["RefIPs"].Value<int>();
int Trustflow = Int32.Parse(Trusty.ToString());
int Citationflow = Int32.Parse(City.ToString());
int Reffering = Int32.Parse(RIPy.ToString());
int[] Metrics = new int[] { Trustflow, Citationflow, Reffering };
return Metrics;
}
}
}
}
y.Models的名称空间链接
{
公共级别的盛大活动
{
公共静态int[]MajesticChecker(字符串[]URLtests)
{
foreach(URLtests中的字符串URLt)
{
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(URLt);
myHttpWebRequest.AllowAutoRedirect=false;
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
int resulting=(int)myHttpWebResponse.StatusCode;
如果(结果==200)
{
字符串Urlnew=URLt;
字符串FinalURL=URLt.Replace(“https://”,“”)。Replace(“http://”,“”);
打破
}
}
HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(“https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=“+FinalURL+”&datasource=fresh”);
{
WebResponse=request.GetResponse();
使用(Stream responseStream=response.GetResponseStream())
{
StreamReader=新的StreamReader(responseStream,Encoding.UTF8);
JObject=JObject.Parse(reader.ReadToEnd());
JToken Trusty=jObject[“DataTables”][“Results”][“Data”][0][“TrustFlow”].Value();
JToken City=jObject[“数据表”][“结果”][“数据”][0][“引文流”]。Value();
JToken RIPy=jObject[“DataTables”][“Results”][“Data”][0][“RefIPs”].Value();
int Trustflow=Int32.Parse(Trusty.ToString());
int引文流=Int32.Parse(City.ToString());
int Reffering=Int32.Parse(RIPy.ToString());
int[]Metrics=newint[]{Trustflow,引证流,Reffering};
回报指标;
}
}
}
}
}将其放在环路的外侧
String FinalURL = "";
foreach (string URLt in URLtests)
{
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(URLt);
myHttpWebRequest.AllowAutoRedirect = false;
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
int resulting = (int)myHttpWebResponse.StatusCode;
if (resulting == 200)
{
String Urlnew = URLt;
FinalURL = URLt.Replace("https://", "").Replace("http://", "");
break;
}
}
if ( FinalURL.Length > 0 )
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=" + FinalURL + "&datasource=fresh");
{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
JObject jObject = JObject.Parse(reader.ReadToEnd());
JToken Trusty = jObject["DataTables"]["Results"]["Data"][0]["TrustFlow"].Value<int>();
JToken City = jObject["DataTables"]["Results"]["Data"][0]["CitationFlow"].Value<int>();
JToken RIPy = jObject["DataTables"]["Results"]["Data"][0]["RefIPs"].Value<int>();
int Trustflow = Int32.Parse(Trusty.ToString());
int Citationflow = Int32.Parse(City.ToString());
int Reffering = Int32.Parse(RIPy.ToString());
int[] Metrics = new int[] { Trustflow, Citationflow, Reffering };
return Metrics;
}
}
}
else
{
throw new Exception("No Final URL Found");
}
这样,它将在循环之外的范围内可用
String FinalURL = "";
foreach (string URLt in URLtests)
{
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(URLt);
myHttpWebRequest.AllowAutoRedirect = false;
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
int resulting = (int)myHttpWebResponse.StatusCode;
if (resulting == 200)
{
String Urlnew = URLt;
FinalURL = URLt.Replace("https://", "").Replace("http://", "");
break;
}
}
if ( FinalURL.Length > 0 )
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=" + FinalURL + "&datasource=fresh");
{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
JObject jObject = JObject.Parse(reader.ReadToEnd());
JToken Trusty = jObject["DataTables"]["Results"]["Data"][0]["TrustFlow"].Value<int>();
JToken City = jObject["DataTables"]["Results"]["Data"][0]["CitationFlow"].Value<int>();
JToken RIPy = jObject["DataTables"]["Results"]["Data"][0]["RefIPs"].Value<int>();
int Trustflow = Int32.Parse(Trusty.ToString());
int Citationflow = Int32.Parse(City.ToString());
int Reffering = Int32.Parse(RIPy.ToString());
int[] Metrics = new int[] { Trustflow, Citationflow, Reffering };
return Metrics;
}
}
}
else
{
throw new Exception("No Final URL Found");
}
String FinalURL=”“;
foreach(URLtests中的字符串URLt)
{
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(URLt);
myHttpWebRequest.AllowAutoRedirect=false;
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
int resulting=(int)myHttpWebResponse.StatusCode;
如果(结果==200)
{
字符串Urlnew=URLt;
FinalURL=URLt.Replace(“https://”和“”).Replace(“http://”和“”);
打破
}
}
如果(最终长度>0)
{
HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(“https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=“+FinalURL+”&datasource=fresh”);
{
WebResponse=request.GetResponse();
使用(Stream responseStream=response.GetResponseStream())
{
StreamReader=新的StreamReader(responseStream,Encoding.UTF8);
JObject=JObject.Parse(reader.ReadToEnd());
JToken Trusty=jObject[“DataTables”][“Results”][“Data”][0][“TrustFlow”].Value();
JToken City=jObject[“数据表”][“结果”][“数据”][0][“引文流”]。Value();
JToken RIPy=jObject[“DataTables”][“Results”][“Data”][0][“RefIPs”].Value();
int Trustflow=Int32.Parse(Trusty.ToString());
int引文流=Int32.Parse(City.ToString());
int Reffering=Int32.Parse(RIPy.ToString());
int[]Metrics=newint[]{Trustflow,引证流,Reffering};
回报指标;
}
}
}
其他的
{
抛出新异常(“未找到最终URL”);
}
您还可以将WebRequest代码移动到for循环中
namespace Linkofy.Models
{
public class MajesticFunctions
{
public static int[] MajesticChecker(string[] URLtests)
{
foreach (string URLt in URLtests)
{
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(URLt);
myHttpWebRequest.AllowAutoRedirect = false;
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
int resulting = (int)myHttpWebResponse.StatusCode;
if (resulting == 200)
{
String FinalURL = URLt.Replace("https://", "").Replace("http://", "");
if (FinalURL.Length > 0)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=" + FinalURL + "&datasource=fresh");
{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
JObject jObject = JObject.Parse(reader.ReadToEnd());
JToken Trusty = jObject["DataTables"]["Results"]["Data"][0]["TrustFlow"].Value<int>();
JToken City = jObject["DataTables"]["Results"]["Data"][0]["CitationFlow"].Value<int>();
JToken RIPy = jObject["DataTables"]["Results"]["Data"][0]["RefIPs"].Value<int>();
int Trustflow = Int32.Parse(Trusty.ToString());
int Citationflow = Int32.Parse(City.ToString());
int Reffering = Int32.Parse(RIPy.ToString());
int[] Metrics = new int[] { Trustflow, Citationflow, Reffering };
return Metrics;
}
}
}
break;
}
}
throw new Exception("No Final URL Found");
}
}
}
y.Models的名称空间链接
{
公共级别的盛大活动
{
公共静态int[]MajesticChecker(字符串[]URLtests)
{
foreach(URLtests中的字符串URLt)
{
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(URLt);
myHttpWebRequest.AllowAutoRedirect=false;
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
int resulting=(int)myHttpWebResponse.StatusCode;
如果(结果==200)
{
字符串FinalURL=URLt.Replace(“https://”,“”)。Replace(“http://”,“”);
如果(最终长度>0)
{
HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(“https://api.majestic.com/api/json?app_api_key=KEY&cmd=GetIndexItemInfo&items=1&item0=“+FinalURL+”&datasource=fresh”);
{
WebResponse=request.GetResponse();
使用(Stream responseStream=response.GetResponseStream())
{
StreamReader=新的StreamReader(responseStream,Encoding.UTF8);
JObject=JObject.Parse(reader.ReadToEnd());
JToken Trusty=jObject[“DataTables”][“Results”][“Data”][0][“TrustFlow”].Value();
JToken City=jObject[“数据表”][“结果”][“数据”][0][“引文流”]。Value();
JToken RIPy=jObject[“DataTables”][“Results”][“Data”][0][“RefIPs”].Value();
int Trustflow=Int32.Parse(Trusty.ToString());