Help? youtube grabbing...... ?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Help? youtube grabbing...... ?

    Urls for downloading youtube video`s are on the youtube page eg:

    goto YouTube - Funny Animation

    and right click and view source

    Press Ctrl F and search for: &fmt_url_map=

    you will then find a long string of urls .....

    this string is the video download links but:

    &title=name

    needs adding on end of 1 url.


    (you can try the above and download any youtube video) ^^

    Grabbing this information is where the problem begins....

    here was a quick attempt at grabbing and parsing each url to a link:
    PHP Code:
    <?php  
    //error_reporting  (E_ALL);
    //ini_set ('display_errors', true);
    
    $url = $_GET['url'];
    if($url=='') 
    $url = 'http://www.youtube.com/watch?v=0_fPV13lKm4&fmt=18';
     else 
    $url = $url.'&fmt=18';
    
    
    $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9' ; 
    $language = 'en-us,en;q=0.7,de-de;q=0.3';
    $accept = 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,;q=0.5';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Language: '.$language));
    $page = curl_exec($ch);  
    curl_close($ch);
    
    
    $start = strpos($page,'&amp;fmt_url_map=');
    $finish = strpos($page,'&amp;csi_page_type=watch'); 
    $length = $finish-$start;
    $page = substr($page,$start,$length); 
    $page = urldecode($page); 
    $page = preg_replace('/&amp;fmt_url_map=(.*?)http/','http',$page);
    $page = str_replace('%2C',',',$page);
    
    $page = explode('|', $page);
    
    $num = count($page);
    for ($i = 0; $i <$num; $i++) {
    
        if(substr($page[$i],-2)=='13'){    $format = '3GP Low Quality - 176×144'; $n=3; }
        else if(substr($page[$i],-2)=='17'){ $format = '3GP Medium Quality - 176×144'; $n=3; }
        else if(substr($page[$i],-2)=='36'){ $format = '3GP High Quality - 320×240'; $n=3; }
        else if(substr($page[$i],-2)=='34'){ $format = 'FLV Medium Quality - 480×360'; $n=3; }
        else if(substr($page[$i],-2)=='35'){ $format = 'FLV High Quality - 854×480'; $n=3; }
        else if(substr($page[$i],-2)=='18'){ $format = 'MP4 High Quality - 480×360'; $n=3; }
        else if(substr($page[$i],-2)=='22'){ $format = 'MP4 High Definition - 1280×720'; $n=3; }
        else if(substr($page[$i],-2)=='37'){ $format = 'MP4 High Definition - 1920×1080'; $n=3; }
        else if(substr($page[$i],-2)=='38'){ $format = 'MP4 Epic Definition - 4096×2304'; $n=3; }
        else if(substr($page[$i],-2)=='43'){ $format = 'WebM High Definition - 854×480'; $n=3; }
        else if(substr($page[$i],-2)=='45'){ $format = 'WebM High Definition - 1280×720'; $n=3; }
        else if(substr($page[$i],-1)=='5'){ $format = 'FLV Low Quality - 400×226'; $n=2; }
        else if(substr($page[$i],-1)=='6'){ $format = 'FLV Medium Quality - 640×360'; $n=2; }
        else $format = 'Unknown Format';
        echo '<a href="'.substr($page[$i],0,-$n).'&title=Something_Else">Download '.$format.'</a><br/><br/>';
    
    }
    
    ?>
    ^ The Above Code Grabbed all Urls And Split them equally.....
    How ever when you grab the page by cURL part of the link is removed by youtube

    part removed will look something like this:
    %252Coc%253AG0hPSFJQUl9FSkNOOV7KSlZB
    or like this when url decoded:
    ,oc:253AG0hPSFJQUl9FSkNOOV7KSlZB


    Which stops you from downloading the video .....

    This string is also missing when you turn cookies off on your browser and goto the page and view source...

    So im guessing one or more of the 5 Cookies is required to get this missing string..
    Cookie names are:
    GEO
    PREF
    VISITOR_INFO1_LIVE
    recently_watched_video_id_list
    use_hitbox

    At a guess i would say it was either GEO or VISITOR_INFO1_LIVE that is required as you will also notice that the first digits of your ip address is in the download link ip=(first digits).0.0.0

    eg:
    PHP Code:
    curl_setopt($ch,CURLOPT_COOKIE,"GEO=geo cookie here; domain=.youtube.com; path=/");
    curl_setopt($ch,CURLOPT_COOKIE,"PREF=pref cookie here; domain=.youtube.com; path=/");
    curl_setopt($ch,CURLOPT_COOKIE,"VISITOR_INFO1_LIVE=live cookie here; domain=.youtube.com; path=/");
    curl_setopt($ch,CURLOPT_COOKIE,"recently_watched_video_id_list=recently watched cookie here; domain=.youtube.com; path=/");
    curl_setopt($ch,CURLOPT_COOKIE,"use_hitbox=use hitbox cookie here; domain=.youtube.com; path=/"); 
    

    Would be good to get this working for mobiles again as my web version doesn't work on mobiles
    Last edited by something else; 19.04.11, 17:18.

    #2
    Very busy to test,
    Btw thanks for the tips where URL can found.
    Did I help you?
    You can help me too
    Your donations will help me finance my studies.

    Comment


      #3
      if you want to grab a flv video you can play with this example:

      PHP Code:
          $info_urls = GoGum_getVideoURL('PYzW5-2zIv0');
          
              foreach($info_urls as $info_url){ 
                      echo $info_url;
                      $headers = get_headers($info_url.'&fmt=17');
                      print_r($headers);
              }
          
          function GoGum_getVideoURL($youtube_id)
          {
              $info_url = 'http://www.youtube.com/get_video_info?video_id='.$youtube_id.'&fmt=13';
              $headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg'; 
              $headers[] = 'Connection: Keep-Alive'; 
              $headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8'; 
              $user_agent = $_SERVER['HTTP_USER_AGENT'];
              $ch = curl_init ($info_url);
              curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
              curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
              curl_setopt($ch, CURLOPT_HEADER, 1);
              curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
              curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
              curl_setopt($ch, CURLOPT_AUTOREFERER, 0);
              curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
              $output = curl_exec ($ch);
      
              $vars = explode('&', $output);
              foreach($vars as $var){ //search the headers for the location url of youtube video
                  $variable = explode('=', $var, 2);
                  $$variable[0] = $variable[1];
              }
              $vars = explode('|', urldecode($fmt_url_map));
              foreach($vars as $var){ 
                  if(strlen($var)>5)$urls[] = $var;
              }
      
              
              if(is_array($urls)){
                  return $urls; 
              }else{
                  return false;
              }
              
              
          } 
      
      Advertise your mobile site for FREE with AdTwirl

      Comment


        #4
        I think YT uses Javascript to set the cookie .... seeming curl can not run Javascript

        So back to grabbing by .jar :/ unless anyone has or can make/has a Javascript interpreter for curl?

        Added after 15 minutes:

        For anyone who is interested here is keephd.com .jar youtube (+many others sites) grabber script:
        KeepHDDownloader.class
        PHP Code:
        import java.applet.AppletContext;
        import java.io.ByteArrayOutputStream;
        import java.io.InputStream;
        import java.io.PrintStream;
        import java.net.HttpURLConnection;
        import java.net.URL;
        import java.net.URLDecoder;
        import java.util.LinkedList;
        import java.util.regex.Matcher;
        import java.util.regex.Pattern;
        import javax.swing.JApplet;
        import netscape.javascript.JSObject;
        
        public class KeepHDDownloader extends JApplet
        {
          private String mv_decrypt(String paramString, int paramInt1, int paramInt2)
          {
            LinkedList localLinkedList1 = new LinkedList();
            for (int i = 0; i < paramString.length(); i++)
            {
              j = paramString.charAt(i);
              switch (j)
              {
              case 48:
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                break;
              case 49:
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                break;
              case 50:
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                break;
              case 51:
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                break;
              case 52:
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                break;
              case 53:
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                break;
              case 54:
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                break;
              case 55:
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                break;
              case 56:
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                break;
              case 57:
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                break;
              case 97:
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                break;
              case 98:
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                break;
              case 99:
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(0));
                break;
              case 100:
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                localLinkedList1.add(Integer.valueOf(1));
                break;
              case 101:
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(0));
                break;
              case 102:
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
                localLinkedList1.add(Integer.valueOf(1));
              case 58:
              case 59:
              case 60:
              case 61:
              case 62:
              case 63:
              case 64:
              case 65:
              case 66:
              case 67:
              case 68:
              case 69:
              case 70:
              case 71:
              case 72:
              case 73:
              case 74:
              case 75:
              case 76:
              case 77:
              case 78:
              case 79:
              case 80:
              case 81:
              case 82:
              case 83:
              case 84:
              case 85:
              case 86:
              case 87:
              case 88:
              case 89:
              case 90:
              case 91:
              case 92:
              case 93:
              case 94:
              case 95:
              case 96: }  } LinkedList localLinkedList2 = new LinkedList();
            for (int j = 0; j < 384; j++)
            {
              paramInt1 = (paramInt1 * 11 + 77213) % 81371;
              paramInt2 = (paramInt2 * 17 + 92717) % 192811;
              localLinkedList2.add(Integer.valueOf((paramInt1 + paramInt2) % 128));
            }
            int m;
            for (j = 256; j >= 0; j--)
            {
              k = ((Integer)localLinkedList2.get(j)).intValue();
              m = j % 128;
              int n = ((Integer)localLinkedList1.get(k)).intValue();
              localLinkedList1.set(k, localLinkedList1.get(m));
              localLinkedList1.set(m, Integer.valueOf(n));
            }
        
            for (j = 0; j < 128; j++) {
              localLinkedList1.set(j, Integer.valueOf(((Integer)localLinkedList1.get(j)).intValue() ^ ((Integer)localLinkedList2.get(j + 256)).intValue() & 0x1));
            }
            String str = "";
            for (int k = 0; k < localLinkedList1.size(); k += 4)
            {
              m = ((Integer)localLinkedList1.get(k)).intValue() * 8;
              m += ((Integer)localLinkedList1.get(k + 1)).intValue() * 4;
              m += ((Integer)localLinkedList1.get(k + 2)).intValue() * 2;
              m += ((Integer)localLinkedList1.get(k + 3)).intValue();
              switch (m)
              {
              case 0:
                str = str + "0";
                break;
              case 1:
                str = str + "1";
                break;
              case 2:
                str = str + "2";
                break;
              case 3:
                str = str + "3";
                break;
              case 4:
                str = str + "4";
                break;
              case 5:
                str = str + "5";
                break;
              case 6:
                str = str + "6";
                break;
              case 7:
                str = str + "7";
                break;
              case 8:
                str = str + "8";
                break;
              case 9:
                str = str + "9";
                break;
              case 10:
                str = str + "a";
                break;
              case 11:
                str = str + "b";
                break;
              case 12:
                str = str + "c";
                break;
              case 13:
                str = str + "d";
                break;
              case 14:
                str = str + "e";
                break;
              case 15:
                str = str + "f";
              }
        
            }
        
            return str;
          }
        
          private String inbtwn(String paramString1, String paramString2, String paramString3)
          {
            Object localObject = null;
            try
            {
              String[] arrayOfString1 = paramString1.split(paramString2);
              String[] arrayOfString2 = arrayOfString1[1].split(paramString3);
              localObject = arrayOfString2[0];
            }
            catch (Exception localException)
            {
              return null;
            }
            return localObject;
          }
        
          private String inbtwnmore(String paramString1, String paramString2, String paramString3, int paramInt)
          {
            Object localObject = null;
            try
            {
              String[] arrayOfString1 = paramString1.split(paramString2);
              String[] arrayOfString2 = arrayOfString1[paramInt].split(paramString3);
              localObject = arrayOfString2[0];
            }
            catch (Exception localException)
            {
              return null;
            }
            return localObject;
          }
        
          private String pregMatch(String paramString1, String paramString2, int paramInt)
          {
            try
            {
              Matcher localMatcher = Pattern.compile(paramString1).matcher(paramString2);
              return localMatcher.group(paramInt);
            }
            catch (Exception localException)
            {
              System.out.println(localException);
            }
            return null;
          }
        
          public void init()
          {
            JSObject localJSObject = JSObject.getWindow(this);
            localJSObject.eval("jloaded();");
            String str1 = null;
            Object localObject1 = null;
            try
            {
              super.init();
              String str2 = getParameter("v");
              String str3 = getParameter("u");
              String str4 = getParameter("site");
              String str5 = getParameter("ua");
              System.out.println("param v: " + str2 + "\r\n");
              System.out.println("param u: " + str3 + "\r\n");
              System.out.println("param site: " + str4 + "\r\n");
              System.out.println("param ua: " + str5 + "\r\n");
              String str32;
              Object localObject2;
              Object localObject5;
              Object localObject6;
              Object localObject7;
              Object localObject8;
              Object localObject9;
              Object localObject10;
              Object localObject11;
              if (str4.contains("youtube.com"))
              {
                try {
                  String str6 = str2;
                  try
                  {
                    Matcher localMatcher = Pattern.compile("/v=([^&]+)/").matcher(str3);
                    str32 = localMatcher.group(1);
                    System.out.println("video_id: " + str32 + "\r\n");
                  }
                  catch (Exception localException28)
                  {
                    System.out.println(localException28);
                  }
                  localObject2 = getUrlContent("http://www.youtube.com/watch?v=" + str6 + "&fmt=18", "GET");
                  System.out.println("Getting Title...");
                  str32 = inbtwn((String)localObject2, "'VIDEO_TITLE': '", "',");
                  if (str32 == null)
                    str32 = inbtwn((String)localObject2, "name=\"title\" content=\"", "\"");
                  if (str32 == null)
                    str32 = inbtwn((String)localObject2, "&title=", "&");
                  try
                  {
                    str32 = setHTMLEntity(str32);
                  }
                  catch (Exception localException29)
                  {
                    localException29.printStackTrace();
                  }
                  System.out.println("Title: " + str32 + "\r\n");
                  localJSObject.eval("kv_info('" + str32 + "', 'youtube.com', 'http://www.youtube.com/watch?v=" + str6 + "', 'http://i.ytimg.com/vi/" + str6 + "/default.jpg');");
                  String str33 = "";
                  str33 = inbtwn((String)localObject2, "&amp;fmt_url_map=", "&");
                  if (str33 != null)
                    str33 = URLDecoder.decode(str33, "UTF-8");
                  if (str33 == null)
                    str33 = inbtwn((String)localObject2, "\"fmt_url_map\": \"", "\"").replace("\\/", "/");
                  System.out.println("fmt_url_map: " + str33 + "\r\n");
                  Object localObject3 = null;
                  localObject5 = null;
                  localObject6 = null;
                  localObject7 = null;
                  localObject8 = null;
                  localObject9 = null;
                  localObject10 = null;
                  localObject11 = null;
                  Object localObject12 = null;
                  Object localObject13 = null;
                  Object localObject14 = null;
                  String str37 = null;
                  String str38 = null;
                  String[] arrayOfString1 = str33.split(",");
                  String[] arrayOfString2 = arrayOfString1;
                  int n = arrayOfString2.length;
                  for (int i1 = 0; i1 < n; i1++)
                  {
                    String str39 = arrayOfString2[i1];
                    String[] arrayOfString3 = str39.split(Pattern.quote("|"));
                    String str40 = URLDecoder.decode(arrayOfString3[0], "UTF-8");
                    String str41 = URLDecoder.decode(arrayOfString3[1], "UTF-8");
                    if (str40.equals("13"))
                      localObject3 = str41;
                    if (str40.equals("17"))
                      localObject5 = str41;
                    if (str40.equals("36"))
                      localObject6 = str41;
                    if (str40.equals("5"))
                      localObject7 = str41;
                    if (str40.equals("34"))
                      localObject8 = str41;
                    if (str40.equals("6"))
                      localObject9 = str41;
                    if (str40.equals("35"))
                      localObject10 = str41;
                    if (str40.equals("18"))
                      localObject11 = str41;
                    if (str40.equals("22"))
                      localObject12 = str41;
                    if (str40.equals("37"))
                      localObject13 = str41;
                    if (str40.equals("38"))
                      localObject14 = str41;
                    if (str40.equals("43"))
                      localObject13 = str41;
                    if (str40.equals("45"))
                      localObject14 = str41;
                    System.out.println("URL: " + str41);
                  }
        
                  if (str1 == null)
                  {
                    if (localObject3 != null)
                      localJSObject.eval("kv_ds('dl_3gplow', '3GP', 'Low Quality - 176×144', '" + localObject3 + "', '" + str32 + "');");
                    if (localObject5 != null)
                      localJSObject.eval("kv_ds('dl_3gpmed', '3GP', 'Medium Quality - 176×144', '" + (String)localObject5 + "', '" + str32 + "');");
                    if (localObject6 != null)
                      localJSObject.eval("kv_ds('dl_3gphigh', '3GP', 'High Quality - 320×240', '" + (String)localObject6 + "', '" + str32 + "');");
                    if (localObject7 != null)
                      localJSObject.eval("kv_ds('dl_flvlow', 'FLV', 'Low Quality - 400×226', '" + (String)localObject7 + "', '" + str32 + "');");
                    if (localObject9 != null)
                      localJSObject.eval("kv_ds('dl_flvmed2', 'FLV', 'Medium Quality - 480×360', '" + (String)localObject9 + "', '" + str32 + "');");
                    if (localObject8 != null)
                      localJSObject.eval("kv_ds('dl_flvmed', 'FLV', 'Medium Quality - 640×360', '" + (String)localObject8 + "', '" + str32 + "');");
                    if (localObject10 != null)
                      localJSObject.eval("kv_ds('dl_flvhigh', 'FLV', 'High Quality - 854×480', '" + (String)localObject10 + "', '" + str32 + "');");
                    if (localObject11 != null)
                      localJSObject.eval("kv_ds('dl_mp4high', 'MP4', 'High Quality - 480×360', '" + (String)localObject11 + "', '" + str32 + "');");
                    if (localObject12 != null)
                      localJSObject.eval("kv_ds('dl_mp4hd', 'MP4', 'High Definition - 1280×720', '" + localObject12 + "', '" + str32 + "');");
                    if (localObject13 != null)
                      localJSObject.eval("kv_ds('dl_mp4hd2', 'MP4', 'High Definition - 1920×1080', '" + localObject13 + "', '" + str32 + "');");
                    if (localObject14 != null)
                      localJSObject.eval("kv_ds('dl_mp4hd3', 'MP4', 'Epic Definition - 4096×2304', '" + localObject14 + "', '" + str32 + "');");
                    if (str37 != null)
                      localJSObject.eval("kv_ds('dl_webmhd', 'WebM', 'High Definition - 854×480', '" + str37 + "', '" + str32 + "');");
                    if (str38 != null)
                      localJSObject.eval("kv_ds('dl_webmhd', 'WebM', 'High Definition - 1280×720', '" + str38 + "', '" + str32 + "');");
                  }
                  else {
                    localJSObject.eval("kv_error('" + str1 + "');");
                  }
                }
                catch (Exception localException2)
                {
                  localException2.printStackTrace();
                }
              }
              else if (str4.contains("megavideo.com"))
              {
                try {
                  String str7 = str2;
                  if (str7 == null)
                    str7 = inbtwn(URLDecoder.decode(getRedirUrl(str3), "UTF-8"), "v=", "&");
                  localObject2 = getUrlContent("http://www.megavideo.com/xml/videolink.php?v=" + str7, "GET");
                  str32 = inbtwn((String)localObject2, " un=\"", "\"");
                  int i = Integer.valueOf(inbtwn((String)localObject2, " k1=\"", "\"")).intValue();
                  int j = Integer.valueOf(inbtwn((String)localObject2, " k2=\"", "\"")).intValue();
                  localObject5 = inbtwn((String)localObject2, " s=\"", "\"");
                  localObject6 = inbtwn((String)localObject2, " title=\"", "\"");
                  localObject6 = URLDecoder.decode(setHTMLEntity((String)localObject6).replace("+", " "), "UTF-8");
                  localObject7 = URLDecoder.decode(inbtwn((String)localObject2, "embed=\"", "\""), "UTF-8");
                  localObject8 = inbtwn((String)localObject7, "\"http://www.megavideo.com/v/" + str7, "\"");
                  localJSObject.eval("kv_info('" + (String)localObject6 + "', 'megavideo.com', 'http://www.megavideo.com/?v=" + str7 + "', 'http://img1.megavideo.com/" + (String)localObject8 + ".jpg');");
                  localObject9 = mv_decrypt(str32, i, j);
                  localObject10 = "http://www" + (String)localObject5 + ".megavideo.com/files/" + (String)localObject9 + "/" + (String)localObject6 + " [www.icyvideo.com].flv";
                  localObject11 = null;
                  try
                  {
                    localObject11 = URLDecoder.decode(inbtwn((String)localObject2, "hd_url=\"", "\""), "UTF-8");
                  }
                  catch (Exception localException30)
                  {
                    localException30.printStackTrace();
                  }
                  if (localObject11 != null)
                    localObject11 = (String)localObject11 + (String)localObject6 + " [www.icyvideo.com].mp4";
                  if (localObject10 != null)
                    localJSObject.eval("kv_ds('mv_flv', 'FLV', 'High Quality - 480x270', '" + (String)localObject10 + "', '" + (String)localObject6 + "');");
                  if (localObject11 != null)
                    localJSObject.eval("kv_ds('mv_mp4', 'MP4', 'High Definition - 1280x720', '" + (String)localObject11 + "', '" + (String)localObject6 + "');");
                }
                catch (Exception localException3)
                {
                  localException3.printStackTrace();
                }
              }
              else
              {
                String str34;
                Object localObject4;
                if (str4.contains("dailymotion.com"))
                {
                  try {
                    String str8 = getUrlContent(str3, "GET");
                    localObject2 = URLDecoder.decode(inbtwn(str8, "\"sequence\",  \"", "\""), "UTF-8").replace("\\/", "/");
                    str32 = inbtwn(str8, "DMTITLE=", "&");
                    str34 = inbtwn(str8, "og:image\" content=\"", "\"");
                    if (str34 == null)
                      str34 = inbtwn(str8, "/jpeg\" href=\"", "\"");
                    localJSObject.eval("kv_info('" + str32 + "', 'dailymotion.com', '" + str3 + "', '" + str34 + "');");
                    localObject4 = inbtwn((String)localObject2, "\"sdURL\":\"", "\"");
                    localObject5 = inbtwn((String)localObject2, "\"hqURL\":\"", "\"");
                    if (localObject4 != null)
                      localJSObject.eval("kv_ds('dm_low', 'FLV', 'Standard Quality', '" + (String)localObject4 + "', '');");
                    if (localObject5 != null)
                      localJSObject.eval("kv_ds('dm_high', 'MP4', 'High Quality', '" + (String)localObject5 + "', '');");
                  }
                  catch (Exception localException4)
                  {
                    localException4.printStackTrace();
                  }
                }
                else if (str4.contains("facebook.com"))
                {
                  try {
                    String str9 = inbtwn(URLDecoder.decode(str3, "UTF-8"), "v=", "&");
                    if (str9 == null)
                      str9 = inbtwn(URLDecoder.decode(str3, "UTF-8"), "/v/", "?");
                    if (str9 == null)
                      str9 = inbtwn(URLDecoder.decode(getRedirUrl(str3), "UTF-8"), "v=", "&");
                    localObject2 = URLDecoder.decode(getUrlContent("http://facebook.com/video/external_video.php?v=" + str9, "GET"), "UTF-8");
                    localObject2 = ((String)localObject2).replace("\\/", "/");
                    str32 = inbtwn((String)localObject2, "\"video_title\":\"", "\"");
                    str34 = inbtwn((String)localObject2, "\"thumb_url\":\"", "\"");
                    localJSObject.eval("kv_info('" + str32 + "', 'facebook.com', 'http://www.facebook.com/video/video.php?v=" + str9 + "', '" + str34 + "');");
                    localObject4 = inbtwn((String)localObject2, "\"video_src\":\"", "\"").replace("\\/", "/").toString();
                    if (localObject4 != null)
                      localJSObject.eval("kv_ds('fb_mp4', 'MP4', 'High Quality', '" + (String)localObject4 + "', '');");
                  }
                  catch (Exception localException5)
                  {
                    localException5.printStackTrace();
                  }
                }
                else if (str4.contains("google.com"))
                {
                  try {
                    String str10 = inbtwn(URLDecoder.decode(str3, "UTF-8"), "docid=", "&");
                    if (str10 == null)
                      str10 = inbtwn(URLDecoder.decode(str3, "UTF-8"), "docId=", "&");
                    localObject2 = getUrlContent("http://video.google.com/docinfo?%7B\"docid\":\"" + str10 + "\"%7D", "GET");
                    str32 = inbtwn((String)localObject2, "\"Title\":\"", "\",");
                    str32 = setHTMLEntity(str32);
                    str34 = inbtwn((String)localObject2, "\"thumbnail_url\":\"", "\"");
                    localJSObject.eval("kv_info('" + str32 + "', 'video.google.com', 'http://video.google.com/videoplay?docid=" + str10 + "', '" + str34 + "');");
                    localObject4 = inbtwn((String)localObject2, "\"streamer_url\":\"", "\"");
                    if (localObject4 != null)
                      localJSObject.eval("kv_ds('gv_flv', 'FLV', 'High Quality', '" + (String)localObject4 + "', '" + str32 + "');");
                  }
                  catch (Exception localException6)
                  {
                    localException6.printStackTrace();
                  }
                }
                else if (str4.contains("vimeo.com"))
                {
                  try {
                    String str11 = str3;
                    localObject2 = str11.split("com/");
                    str32 = localObject2[1];
                    str34 = getUrlContent("http://vimeo.com/moogaloop/load/clip:" + str32, "GET");
                    localObject4 = inbtwn(str34, "<caption>", "</caption>");
                    localObject5 = inbtwn(str34, "<thumbnail>", "</thumbnail>").replace("_640.jpg", "_100.jpg");
                    localJSObject.eval("kv_info('" + (String)localObject4 + "', 'vimeo.com', 'http://vimeo.com/" + str32 + "', '" + (String)localObject5 + "');");
                    localObject6 = URLDecoder.decode(inbtwn(str34, "<request_signature>", "</request_signature>"), "UTF-8");
                    localObject7 = URLDecoder.decode(inbtwn(str34, "<request_signature_expires>", "</request_signature_expires>"), "UTF-8");
                    localObject8 = getRedirUrl("http://www.vimeo.com/moogaloop/play/clip:" + str32 + "/" + (String)localObject6 + "/" + (String)localObject7 + "/?q=sd");
                    localObject9 = getRedirUrl("http://www.vimeo.com/moogaloop/play/clip:" + str32 + "/" + (String)localObject6 + "/" + (String)localObject7 + "/?q=hd");
                    if (localObject8 != null)
                    {
                      localObject10 = "FLV";
                      if (((String)localObject8).contains(".avi?"))
                        localObject10 = "AVI";
                      if (((String)localObject8).contains(".mp4?"))
                        localObject10 = "MP4";
                      localJSObject.eval("kv_ds('vm_low', '" + (String)localObject10 + "', 'Standard Quality', '" + (String)localObject8 + "', '');");
                    }
                    if (localObject9 != null)
                    {
                      localObject10 = "FLV";
                      if (((String)localObject9).contains(".avi?"))
                        localObject10 = "AVI";
                      if (((String)localObject9).contains(".mp4?"))
                        localObject10 = "MP4";
                      localJSObject.eval("kv_ds('vm_high', '" + (String)localObject10 + "', 'High Definition', '" + (String)localObject9 + "', '');");
                    }
                  }
                  catch (Exception localException7)
                  {
                    localException7.printStackTrace();
                  }
                }
                else if (str4.contains("metacafe.com"))
                {
                  try {
                    String str12 = inbtwn(str3, "watch/", "/");
                    localObject2 = getUrlContent(str3, "GET");
                    str32 = inbtwn((String)localObject2, "\"itemTitle\":\"", "\"");
                    str34 = inbtwn((String)localObject2, "image_src\" href=\"", "\"");
                    localJSObject.eval("kv_info('" + str32 + "', 'metacafe.com', '" + str3 + "', '" + str34 + "');");
                    localObject4 = URLDecoder.decode(getRedirUrl("http://www.metacafe.com/fplayer/" + str12 + "/.swf"), "UTF-8").replace("\\/", "/");
                    localObject5 = inbtwn((String)localObject4, "\"mediaURL\":\"", "\"");
                    if (localObject5 == null)
                      localObject5 = inbtwn((String)localObject4, "mediaURL=", "&");
                    localObject6 = inbtwn((String)localObject4, "gdaKey=", "&");
                    if (localObject6 == null)
                      localObject6 = inbtwn((String)localObject4, "\"key\":\"", "\"");
                    if (localObject6 != null)
                      localObject5 = (String)localObject5 + "?__gda__=" + (String)localObject6;
                    if (((String)localObject5).contains(".mp4"))
                      localJSObject.eval("kv_ds('mc_mp4', 'MP4', 'High Quality', '" + (String)localObject5 + "', '');");
                    else
                      localJSObject.eval("kv_ds('mc_flv', 'FLV', 'Standard Quality', '" + (String)localObject5 + "', '');");
                  }
                  catch (Exception localException8)
                  {
                    localException8.printStackTrace();
                  }
                }
                else if (str4.contains("photobucket.com"))
                {
                  try {
                    String str13 = getUrlContent(str3, "GET");
                    localObject2 = inbtwn(str13, "description\" content=\"", "\"");
                    str32 = inbtwn(str13, "image_src\" href=\"", "\"");
                    localJSObject.eval("kv_info('" + (String)localObject2 + "', 'photobucket.com', '" + str3 + "', '" + str32 + "');");
                    str34 = inbtwn(str13, "file=", "\"");
                    if (str34 != null)
                      localJSObject.eval("kv_ds('pb_flv', 'FLV', 'High Quality', '" + str34 + "', '');");
                  }
                  catch (Exception localException9)
                  {
                    localException9.printStackTrace();
                  }
                }
                else if (str4.contains("ehow.com"))
                {
                  try {
                    String str14 = getUrlContent(str3, "GET");
                    localObject2 = inbtwn(str14, "title\" content=\"", "\"");
                    str32 = inbtwn(str14, "image_src\" href=\"", "\"");
                    localJSObject.eval("kv_info('" + (String)localObject2 + "', 'ehow.com', '" + str3 + "', '" + str32 + "');");
                    str34 = "http" + inbtwn(str14, "id: 'http", "'");
                    if (str34 != null)
                      localJSObject.eval("kv_ds('eh_flv', 'FLV', 'High Quality', '" + str34 + "', '');");
                  }
                  catch (Exception localException10)
                  {
                    localException10.printStackTrace();
                  }
                }
                else if (str4.contains("ted.com"))
                {
                  try {
                    String str15 = getUrlContent(str3, "GET");
                    localObject2 = inbtwn(str15, "id=\"altHeadline\">", "</span>");
                    str32 = inbtwn(str15, "image_src\" href=\"", "\"");
                    localJSObject.eval("kv_info('" + (String)localObject2 + "', 'ted.com', '" + str3 + "', '" + str32 + "');");
                    str34 = inbtwn(str15, "vu=", "&");
                    localObject4 = "http://www.ted.com/" + inbtwn(str15, "<dt><a href=\"/", "\"");
                    localObject5 = "http://www.ted.com/" + inbtwnmore(str15, "<dt><a href=\"/", "\"", 2);
                    if (str34 != null)
                      localJSObject.eval("kv_ds('ted_flv', 'FLV', 'Standard Quality', '" + str34 + "', '');");
                    if (localObject4 != null)
                      localJSObject.eval("kv_ds('ted_mp4', 'MP4', 'Standard Quality', '" + (String)localObject4 + "', '');");
                    if (localObject5 != null)
                      localJSObject.eval("kv_ds('ted_mp4hq', 'MP4', 'High Quality', '" + (String)localObject5 + "', '');");
                  }
                  catch (Exception localException11)
                  {
                    localException11.printStackTrace();
                  }
                }
                else if (str4.contains("twitvid.com"))
                {
                  try {
                    String str16 = getUrlContent(str3, "GET");
                    localObject2 = inbtwn(str16, "title\" content=\"", " - TwitVid\"");
                    str32 = inbtwn(str16, "image_src\" href=\"", "\"");
                    localJSObject.eval("kv_info('" + (String)localObject2 + "', 'twitvid.com', '" + str3 + "', '" + str32 + "');");
                    str34 = getUrlContent(URLDecoder.decode(inbtwn(str16, "file=", "&"), "UTF-8"), "GET");
                    localObject4 = inbtwn(str34, "httpBase\" content=\"", "\"") + inbtwn(str34, "src=\"", "\"");
                    if (localObject4 != null)
                      localJSObject.eval("kv_ds('tv_mp4', 'MP4', 'Standard Quality', '" + (String)localObject4 + "', '');");
                  }
                  catch (Exception localException12)
                  {
                    localException12.printStackTrace();
                  }
                }
                else if (str4.contains("tudou.com"))
                {
                  try {
                    String str17 = getUrlContent(str3, "GET");
                    localObject2 = inbtwn(str17, "defaultIid = ", "\n");
                    if (localObject2 == null)
                      localObject2 = inbtwn(str17, "iid: \"", "\"");
                    str32 = null;
                    if (str3.contains("hd."))
                      str32 = "http://v2.tudou.com/v2/kili?id=";
                    else
                      str32 = "http://v2.tudou.com/v?it=";
                    str34 = getUrlContent(str32 + (String)localObject2, "GET");
                    localObject4 = str34.split("<f ");
                    localObject5 = localObject4;
                    int k = localObject5.length;
                    for (int m = 0; m < k; m++)
                    {
                      localObject8 = localObject5[m];
                      if (!((String)localObject8).contains("size=\""))
                        continue;
                      localObject9 = ((String)localObject8).split(">");
                      localObject10 = localObject9[1].split("</");
                      localObject11 = localObject10[0];
                      System.out.println((String)localObject11);
                      if (((String)localObject11).contains(".f4v"))
                        localJSObject.eval("kv_ds('td_f4v', 'F4V', 'Standard Quality', '" + (String)localObject11 + "', '');");
                      if (((String)localObject11).contains(".flv"))
                        localJSObject.eval("kv_ds('td_flv', 'FLV', 'Standard Quality', '" + (String)localObject11 + "', '');");
                      if (((String)localObject11).contains(".m4v"))
                        localJSObject.eval("kv_ds('td_m4v', 'M4V', 'Standard Quality', '" + (String)localObject11 + "', '');");
                      if (((String)localObject11).contains(".mp4")) {
                        localJSObject.eval("kv_ds('td_mp4', 'MP4', 'Standard Quality', '" + (String)localObject11 + "', '');");
                      }
                    }
        
                  }
                  catch (Exception localException13)
                  {
                    localException13.printStackTrace();
                  }
                }
                else
                {
                  String str35;
                  if (str4.contains("flickr.com")) {
                    try
                    {
                      String str18 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str18, "p.title = '", "'");
                      if (localObject2 == null)
                        localObject2 = inbtwn(str18, "title\" content=\"", "\"");
                      str32 = inbtwn(str18, "image_src\" href=\"", "\"");
                      if (str32 == null)
                        str32 = inbtwn(str18, "geo_thmb = '", "'").replace("_s.jpg", "_m.jpg");
                      localJSObject.eval("kv_info('" + (String)localObject2 + "', 'flickr.com', '" + str3 + "', '" + str32 + "');");
                      str34 = null;
                      localObject4 = Pattern.compile("tagdiv([0-9]+-[0-9]+)-");
                      localObject5 = ((Pattern)localObject4).matcher(str18);
                      if (((Matcher)localObject5).find())
                        str34 = ((Matcher)localObject5).group(1);
                      str35 = inbtwn(str18, "photo_secret: '", "'");
                      if (str35 == null)
                        str35 = inbtwn(str18, "page_p.secret = '", "'");
                      String str36 = getUrlContent("http://www.flickr.com/video_playlist.gne?node_id=" + str34 + "&secret=" + str35, "GET");
                      localObject8 = inbtwn(str36, "APP=\"", "\"") + inbtwn(str36, "FULLPATH=\"", "\"");
                      if (((String)localObject8).contains(".flv"))
                        localJSObject.eval("kv_ds('fl_flv', 'FLV', 'Standard Quality', '" + (String)localObject8 + "', '');");
                      if (((String)localObject8).contains(".mp4"))
                        localJSObject.eval("kv_ds('fl_mp4', 'MP4', 'Standard Quality', '" + (String)localObject8 + "', '');");
                    }
                    catch (Exception localException14)
                    {
                      localException14.printStackTrace();
                    }
                  }
                  else if (str4.contains("ning.com")) {
                    try
                    {
                      String str19 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str19, "<h1>", "</h1>");
                      str32 = inbtwn(str19, "image_src\" href=\"", "\"");
                      localJSObject.eval("kv_info('" + (String)localObject2 + "', 'ning.com', '" + str3 + "', '" + str32 + "');");
                      str34 = inbtwn(str19, "video-url\" value=\"", "\"");
                      if (str34.contains(".flv"))
                        localJSObject.eval("kv_ds('ng_flv', 'FLV', 'Standard Quality', '" + str34 + "', '');");
                    }
                    catch (Exception localException15)
                    {
                      localException15.printStackTrace();
                    }
                  }
                  else if (str4.contains("current.com")) {
                    try
                    {
                      String str20 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str20, "title\" content=\"", " // Current\"");
                      str32 = inbtwn(str20, "image\" href=\"", "\"");
                      localJSObject.eval("kv_info('" + (String)localObject2 + "', 'current.com', '" + str3 + "', '" + str32 + "');");
                      str34 = URLDecoder.decode(inbtwn(str20, "assetUrl=", "&"), "UTF-8");
                      if (str34 == null)
                        str34 = inbtwn(str20, "'assetUrl', '", "'");
                      localJSObject.eval("kv_ds('cu_flv', 'FLV', 'Standard Quality', '" + str34 + "', '');");
                    }
                    catch (Exception localException16)
                    {
                      localException16.printStackTrace();
                    }
                  }
                  else if (str4.contains("clipfish.de")) {
                    try
                    {
                      String str21 = inbtwn(str3, "video/", "/");
                      localObject2 = getUrlContent("http://www.clipfish.de/devxml/videoinfo/" + str21, "GET");
                      str32 = inbtwn((String)localObject2, "<title><!\\[CDATA\\[", "\\]\\]></title>");
                      str34 = inbtwn((String)localObject2, "<imageurl>", "</imageurl>");
                      localJSObject.eval("kv_info('" + str32 + "', 'clipfish.de', '" + str3 + "', '" + str34 + "');");
                      localObject4 = inbtwn((String)localObject2, "<filename>", "</filename>");
                      if (((String)localObject4).contains(".mp4"))
                        localJSObject.eval("kv_ds('cf_mp4', 'MP4', 'Standard Quality', '" + (String)localObject4 + "', '');");
                      else
                        localJSObject.eval("kv_ds('cf_flv', 'FLV', 'Standard Quality', '" + (String)localObject4 + "', '');");
                    }
                    catch (Exception localException17)
                    {
                      localException17.printStackTrace();
                    }
                  }
                  else if (str4.contains("blip.tv")) {
                    try
                    {
                      String str22 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str22, "title\" content=\"", "\"");
                      str32 = inbtwn(str22, "image_src\" href=\"", "\"");
                      localJSObject.eval("kv_info('" + (String)localObject2 + "', 'blip.tv', '" + str3 + "', '" + str32 + "');");
                      str34 = inbtwn(str22, "setPrimaryMediaUrl\\(\"", "\"");
                      if (str34.contains(".m4v"))
                        localJSObject.eval("kv_ds('bt_m4v', 'M4V', 'Standard Quality', '" + str34 + "', '');");
                      else
                        localJSObject.eval("kv_ds('bt_flv', 'FLV', 'Standard Quality', '" + str34 + "', '');");
                    }
                    catch (Exception localException18)
                    {
                      localException18.printStackTrace();
                    }
                  }
                  else if (str4.contains("break.com")) {
                    try
                    {
                      String str23 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str23, "<h1>", "</h1>");
                      str32 = inbtwn(str23, "image\" content=\"", "\"");
                      localJSObject.eval("kv_info('" + (String)localObject2 + "', 'break.com', '" + str3 + "', '" + str32 + "');");
                      str34 = inbtwn(str23, "sGlobalFileName='", "'");
                      localObject4 = inbtwn(str23, "sGlobalContentFilePath='", "'");
                      localObject5 = inbtwn(str23, "flashVars.icon = \"", "\"");
                      str35 = "http://video1.break.com/dnet/media/" + (String)localObject4 + "/" + str34;
                      localJSObject.eval("kv_ds('br_flv', 'FLV', 'Standard Quality', '" + str35 + ".flv?" + (String)localObject5 + "', '');");
                      localJSObject.eval("kv_ds('br_mp4', 'MP4', 'Standard Quality', '" + str35 + ".mp4?" + (String)localObject5 + "', '');");
                    }
                    catch (Exception localException19)
                    {
                      localException19.printStackTrace();
                    }
                  }
                  else if (str4.contains("clipser.com")) {
                    try
                    {
                      String str24 = getUrlContent(str3, "GET");
                      localObject2 = "http://videos.clipser.com//" + inbtwn(str24, "=http://www.clipser.com/vimages/", "1.jpg") + ".flv";
                      localJSObject.eval("kv_ds('cs_flv', 'FLV', 'Standard Quality', '" + (String)localObject2 + "', '');");
                    }
                    catch (Exception localException20)
                    {
                      localException20.printStackTrace();
                    }
                  }
                  else if (str4.contains("videoweed.com")) {
                    try
                    {
                      String str25 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str25, "title\" content=\"", "\"");
                      str32 = inbtwn(str25, "image_src\" href=\"", "\"");
                      localJSObject.eval("kv_info('" + (String)localObject2 + "', 'videoweed.com', '" + str3 + "', '" + str32 + "');");
                      str34 = inbtwn(str25, "\"file\",\"", "\"");
                      localJSObject.eval("kv_ds('vw_flv', 'FLV', 'Standard Quality', '" + str34 + "', '');");
                    }
                    catch (Exception localException21)
                    {
                      localException21.printStackTrace();
                    }
                  }
                  else if (str4.contains("watchme.tv")) {
                    try
                    {
                      String str26 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str26, "mid=", "\"");
                      str32 = getUrlContent("http://www.watchme.tv/feed/moviePlayList.php?mid=" + (String)localObject2, "GET");
                      str34 = inbtwn(str32, "<!\\[CDATA\\[", "\\]");
                      localObject4 = inbtwn(str32, "<thumb1>", "</thumb1>");
                      localJSObject.eval("kv_info('" + str34 + "', 'watchme.tv', '" + str3 + "', '" + (String)localObject4 + "');");
                      localObject5 = inbtwn(str32, "<fileUrl>", "</fileUrl>");
                      localJSObject.eval("kv_ds('wm_flv', 'MOV', 'High Quality', '" + (String)localObject5 + "', '');");
                    }
                    catch (Exception localException22)
                    {
                      localException22.printStackTrace();
                    }
                  }
                  else if (str4.contains("veoh.com")) {
                    try
                    {
                      String str27 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str27, "item-id\" content=\"", "\"");
                      str32 = getUrlContent("http://www.veoh.com/rest/video/" + (String)localObject2 + "/details", "GET");
                      str34 = inbtwn(str27, "title\" content=\"", "\"");
                      localObject4 = inbtwn(str32, "fullMedResImagePath=\"", "\"");
                      localJSObject.eval("kv_info('" + str34 + "', 'veoh.com', '" + str3 + "', '" + (String)localObject4 + "');");
                      localObject5 = inbtwn(str32, "fullPreviewHashPath=\"", "\"");
                      localJSObject.eval("kv_ds('wm_flv', 'FLV', 'High Quality', '" + (String)localObject5 + "', '');");
                    }
                    catch (Exception localException23)
                    {
                      localException23.printStackTrace();
                    }
                  }
                  else if (str4.contains("myspace.com")) {
                    try
                    {
                      String str28 = inbtwn(str3.toLowerCase(), "videoid=", "&");
                      localObject2 = getUrlContent("http://mediaservices.myspace.com/services/rss.ashx?type=video&videoID=" + str28, "GET");
                      str32 = inbtwnmore((String)localObject2, "<title>", "</title>", 2);
                      str34 = inbtwn((String)localObject2, "thumbnail url=\"", "\"");
                      localJSObject.eval("kv_info('" + str32 + "', 'myspace.com', '" + str3 + "', '" + str34 + "');");
                      localObject4 = inbtwn((String)localObject2, "content url=\"", "\"");
                      localJSObject.eval("kv_ds('ms_flv', 'FLV', 'High Quality', '" + (String)localObject4 + "', '');");
                    }
                    catch (Exception localException24)
                    {
                      localException24.printStackTrace();
                    }
                  }
                  else if (str4.contains("stagevu.com")) {
                    try
                    {
                      String str29 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str29, "name=\"movieTitle\" value=\"", "\"");
                      str32 = inbtwn(str29, "name=\"previewImage\" value=\"", "\"");
                      localJSObject.eval("kv_info('" + (String)localObject2 + "', 'stagevu.com', '" + str3 + "', '" + str32 + "');");
                      str34 = inbtwn(str29, "name=\"src\" value=\"", "\"");
                      localJSObject.eval("kv_ds('sv_flv', 'AVI', 'High Quality', '" + str34 + "', '');");
                    }
                    catch (Exception localException25)
                    {
                      localException25.printStackTrace();
                    }
                  }
                  else if (str4.contains("rutube.ru")) {
                    try
                    {
                      String str30 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str30, "h1 title=\"", "\"");
                      str32 = inbtwn(str30, "&image=", "&");
                      localJSObject.eval("kv_info('" + (String)localObject2 + "', 'rutube.ru', '" + str3 + "', '" + str32 + "');");
                      str34 = inbtwn(str30, "&file=", "&");
                      localJSObject.eval("kv_ds('rt_flv', 'FLV', 'High Quality', '" + str34 + "', '');");
                    }
                    catch (Exception localException26)
                    {
                      localException26.printStackTrace();
                    }
                  }
                  else if (str4.contains("vbox7.com"))
                    try
                    {
                      String str31 = getUrlContent(str3, "GET");
                      localObject2 = inbtwn(str31, "title\" content=\"", "\"");
                      str32 = inbtwn(str31, "VideoMdkey = '", "'");
                      str34 = getUrlContent("http://vbox7.com/etc/ext.do?key=" + str32, "GET");
                      localObject4 = inbtwn(str34, "jpg_addr=", "&");
                      if (localObject4 != null)
                        localObject4 = "http://" + (String)localObject4;
                      localJSObject.eval("kv_info('" + (String)localObject2 + "', 'vbox7.com', '" + str3 + "', '" + (String)localObject4 + "');");
                      localObject5 = inbtwn(str34, "flv_addr=", "&");
                      if (localObject5 != null)
                        localObject5 = "http://" + (String)localObject5;
                      localJSObject.eval("kv_ds('vb_flv', 'FLV', 'High Quality', '" + (String)localObject5 + "', '');");
                    }
                    catch (Exception localException27)
                    {
                      localException27.printStackTrace();
                    }
                  else
                    localJSObject.eval("kv_error('Sorry, no download links found on this page.'");
                }
              }
            } catch (Exception localException1) {
              localException1.printStackTrace();
            }
          }
        
          private String getUrlContent(String paramString1, String paramString2)
          {
            try
            {
              URL localURL = new URL(paramString1);
              HttpURLConnection localHttpURLConnection = (HttpURLConnection)localURL.openConnection();
              localHttpURLConnection.setRequestMethod(paramString2);
              localHttpURLConnection.setRequestProperty("User-Agent", getParameter("ua"));
              InputStream localInputStream = localHttpURLConnection.getInputStream();
              ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
              byte[] arrayOfByte = new byte[1024];
              for (int i = 0; (i = localInputStream.read(arrayOfByte)) != -1; ) {
                localByteArrayOutputStream.write(arrayOfByte, 0, i);
              }
              return localByteArrayOutputStream.toString();
            }
            catch (Exception localException2)
            {
              localException1.printStackTrace();
              try
              {
                getAppletContext().showDocument(new URL("javascript:jerror();"));
              }
              catch (Exception localException2)
              {
                localException2.printStackTrace();
              }
            }
            return null;
          }
        
          private String getRedirUrl(String paramString)
          {
            String str = "";
            try
            {
              HttpURLConnection localHttpURLConnection = (HttpURLConnection)new URL(paramString).openConnection();
              localHttpURLConnection.setInstanceFollowRedirects(false);
              localHttpURLConnection.addRequestProperty("User-Agent", getParameter("ua"));
              str = localHttpURLConnection.getHeaderField("location");
            }
            catch (Exception localException1)
            {
              localException1.printStackTrace();
              try
              {
                getAppletContext().showDocument(new URL("javascript:jerror();"));
              }
              catch (Exception localException2)
              {
                localException2.printStackTrace();
              }
              return null;
            }
            return str;
          }
        
          private String setHTMLEntity(String paramString)
          {
            String str = "";
            try
            {
              str = paramString.replace("&amp;", "&").toString();
              str = str.replace("&lt;", "_").toString();
              str = str.replace("&gt;", "_").toString();
              str = str.replace("'", "_").toString();
              str = str.replace("&quot;", "_").toString();
              str = str.replace("&", "_").toString();
              str = str.replace("_amp;", "_").toString();
              str = str.replace("\\\"", "_").toString();
              str = str.replace("\\'", "_").toString();
              str = str.replace("'", "_").toString();
              str = str.replace("'", "_").toString();
              str = str.replace("<", "_").toString();
              str = str.replace(">", "_").toString();
              str = str.replace("?", "_").toString();
              str = str.replace("/", "_").toString();
            }
            catch (Exception localException)
            {
              localException.printStackTrace();
              return paramString;
            }
            return str;
          }
        } 
        
        Added after 3 minutes:

        The above youtube grabber works but only for computers as mobiles cant run embeded .jar files
        you maybe able to run it server side if you have complete control over server as you would need to excute the .jar
        Last edited by something else; 22.04.11, 14:48.

        Comment


          #5
          nice.... any solution how to embeded in mobile?
          our lfe is simple words....
          http://mygenkz.net
          ewanz06@yahoo.com
          PHP Code:
          $output="i am NOoob....";
          $newfile="ewanz.txt";
          $file = fopen ($newfile, "w");
          fwrite($file, $output);
          fclose ($file); 
          

          Comment

          Working...
          X