私は、これは私が考えるようかかわらず仕事に行くされていることを確認、私はコードに正規表現を働いてきたときではないポストバックされます実際のリンクはAJAXによって取得されます。私はまだこれで遊んでいます。
AJAXの懸念が議論:コメントで提供PHPコードに基づいてStackOverflow related question
:
- 第一対応 - > 「CG(VAR1という関数に を渡された値を取得、var2、var3) "私は mediafireがまだその機能を使用しているとは思わない " cu(var1、var2、var3) "と呼ばれているようです。 あなたが与えたPHPは引き続き動作します。とにかく、我々は同じことをすることができます cuの値からの値& に私たちの要求を投稿しますか? 最初の応答から取得したクッキーを に追加しました。
- 第二応答は、ランダムに生成変数、 のこの巨大な リストはそれら 変数、これはusing the Microsoft.JScript engine to evaluate this codeであるかどうかを URLを取得するための唯一の方法の一部を連結ダウンロードURL を生成作成されます。我々は最初の要求のクッキーを受信&ストアを送信ここで
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;
:私は私の コード(このコードをクリーンアップする醜い&ニーズである警告)まもなく
コードに掲載されます。
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が含まれています
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);
は、エンコードされたダウンロードURLが含まれています2ページ目を取得:次は第二の要求のための鍵を見つけるためにページを解析したいですダウンロードURLを生成し、ここで私たちは、その後& finalyコンソールに書き込み、それを評価し、それを抽出します。
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にする必要がありますイッテン、私はまた、あなたが(Evaluating JScript in c#から)私が使用しているものとして動作するためEvalJScript機能を残して廃止されました
私の元の答えは上のコードの最後のブロックが遮断され
..あなたはそれのうち –
SRYをIPを取得することができるかどうかが、私はあなたが何を意味するのか分からない:JScriptの評価上のD – ByulTaeng
私は申し訳ありませんが、ちょうど私その引用を少なくとも1回投稿する必要がありました:http://www.youtube.com/watch?v=hkDD03yeLnU 一方、WBコントロールを使用する代わりに、 eページの難しい方法... –