Я буду отправлять назад, когда я работал регулярное выражение в код, не уверен, что это будет работать, хотя, как я думаю, фактическая ссылка получена через AJAX. Я все еще играю с этим.
AJAX касается обсуждения: StackOverflow related question
на основе кода PHP, содержащейся в комментариях:
- первый response-> получить значение передается в функцию под названием «Cg (var1 , var2, var3) «Не думаю, что mediafire все еще использует эту функцию, кажется, что это называется « cu (var1, var2, var3) »сейчас, не уверен, что php, который вы дали, по-прежнему будет работать. В любом случае, мы можем сделать то же самое, получить значения от функции cu & Отправьте наш запрос на ? с печеньем, который мы получили от нашего первого ответа.
- 2-ая реакция создает этот огромный список случайных сгенерированных переменных, затем генерирует URL загрузки конкатенации некоторые из этих переменных , единственный способ получить URL, если это является using the Microsoft.JScript engine to evaluate this code. Я буду размещение моих код как можно скорее
Code (предупреждение этого код некрасивые & должен быть очищен до):
string sURL = "http://www.mediafire.com/?syzjuytmdkn";
HttpWebRequest wrGETURL = (HttpWebRequest)WebRequest.Create(sURL);
wrGETURL.CookieContainer = new CookieContainer();
wrGETURL.Referer = "http://www.mediafire.com";
wrGETURL.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
HttpWebResponse wrResponse = (HttpWebResponse)wrGETURL.GetResponse();
CookieCollection cookies = wrResponse.Cookies;
Здесь мы послать первый запрос & магазина получило печенье.Далее мы хотим разобрать страницу, чтобы узнать ключи для 2-го запроса:
StreamReader objReader = new StreamReader(wrResponse.GetResponseStream());
string[] parameters = {};//will contain the parameters fetched
string html = objReader.ReadToEnd();
int cupos1 = html.IndexOf("cu(");
int cupos2 = html.IndexOf("')",cupos1);
string[] separators = { "','"};
parameters = html.Substring(cupos1 + 4, cupos2 - cupos1 - 4)
.Split(separators, StringSplitOptions.None);
Fetch 2-ю страницу, которая будет содержать кодированный URL загрузки:
string sURL2 = String.Format("http://www.mediafire.com/dynamic/download.php?qk={0}&pk={1}&r={2}",
parameters[0],parameters[1],parameters[2]);
HttpWebRequest wrGETURL2 = (HttpWebRequest)WebRequest.Create(sURL2);
wrGETURL2.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
wrGETURL2.Referer = "http://www.mediafire.com";
wrGETURL2.CookieContainer = new CookieContainer();
wrGETURL2.CookieContainer.Add(cookies);
wrResponse = (HttpWebResponse)wrGETURL2.GetResponse();
objReader = new StreamReader(wrResponse.GetResponseStream());
html = objReader.ReadToEnd();
Этот HTML содержит это будет Javascript генерировать URL загрузки, здесь мы извлечь его, а затем оценить его &, наконец записать его на консоль:
int varpos1 = html.IndexOf("<script language=\"Javascript\">")+35;
//The variables are declared just before the 'function'
int varpos2 = html.IndexOf("function",varpos1);
string vardata = html.Substring(varpos1, varpos2 - varpos1);
int hrefpos1 = html.IndexOf("href=\\\"http://", varpos2)+6 ;
int hrefpos2 = html.IndexOf(">", hrefpos1);
string hrefdata = String.Format("var url = {0};", html.Substring(hrefpos1, hrefpos2 - hrefpos1-5));
object Result = EvalJScript(vardata + "\n" + hrefdata);
Console.WriteLine(Result.ToString());
Этот материал работал для меня, но он должен быть rewr Иттен, я также оставить функцию EvalJScript для вас работать, как один я использую (от Evaluating JScript in c#) осуждается
Сделать графический интерфейс с использованием Visual Basic .. если вы можете получить IP-адрес из него –
Sry, но я не знаю, что вы имеете в виду: D – ByulTaeng
Я извиняюсь, я просто должен был опубликовать эту цитату хотя бы один раз: http://www.youtube.com/watch?v=hkDD03yeLnU С другой стороны, вместо использования элемента управления WB вы можете попробовать и получить e page трудный путь ... –