试图抓取隐藏的下载链接

时间:2014-03-08 16:43:21

标签: javascript php jquery curl screen-scraping

我试图抓取一个网站下载链接,但链接写得像这样:

<form action="" method="post" name="addondownload" id="addondownload" >
    <input type="hidden" name="addonid" id="addonid" value="2109" />
    <input class="red_btn" type="submit" name="send" value="Download Now!" />
</form>

我能找到的与此相关的唯一可以产生任何类型的下载链接的是jQuery文件:

download_addon.js

jQuery(document).ready(function() {
// prepare Options Object 
var options5 = { 
    url:        url,
    data:       { action : 'downloadfileaddon' },
    success:    function(e) { 
        //alert(e); 
        //var count = e.length - 1;
        var check = e.substring(0,5); 
        if(check == 'http:'){   
            //var url = e.substring(0,count);
            window.location = e;
        }else{
            alert(e);
        }
    } 
};

// pass options to ajaxForm 
jQuery('#addondownload').ajaxForm(options5);

});

我的问题是,这个文件是否负责返回用户浏览器的下载链接?如果是这样,有没有办法模拟PHP脚本中的数据传递到这个文件?也许在cURL请求中?

1 个答案:

答案 0 :(得分:0)

经过一段时间的挖掘和一些wirehark业务,事实证明帖子应该是这样的:

$url = "http://www.website.com/wp/wp-admin/admin-ajax.php";
$ch = curl_init();

curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array(
    "addonid" => $mod_id,
    "send" => "Download+Now!",
    "action" => "downloadfileaddon"
    )
));

好像在网站首页上调用帖子并不需要做什么,事实上它是一个不包含在网站html中的PHP脚本!

好老的wirehark!