php cURL检索PDF从javascript表单函数


php cURL retrieve PDF from javascript form function

您可以看看这个页面:http://apps.humana.com/tad/tad_new/Search.aspx?sortfield=name&policyType=medical

我正在试图找出我可以用cURL下载该页面上每个链接后面的PDF的方法。

我试着用下面的cURL代码提交页面的主表单:

我假设'VIEWSTATE'变量是90000个字符长将是一个问题,尽管我希望不是。* *

$post_vars = array(
'__EVENTTARGET' => 'ctl00$ContentPlaceHolder1$MentorResultsGridView$ctl02$HrefLink',
'EVENTARGUMENT' => '',
'VIEWSTATE' => '**A STRING THAT IS 90000 characters long!!!**',
'submitted' => 'submitted',
'__SCROLLPOSITIONX', '0',
'__SCROLLPOSITIONY', '0',
'ctl00$ContentPlaceHolder1$MentorResultsGridView$ctl02$NewHiddenField', 'Revised'
);
$form_url = 'http://apps.humana.com/tad/tad_new/Search.aspx?sortfield=name&policyType=medical';
$cookie = tempnam ("/tmp", "CURLCOOKIE");
$ch = curl_init();
curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
curl_setopt($ch, CURLOPT_URL, $form_url);
curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_vars);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
return $output;

页面上的链接是这样的(我只留下重要的部分):

<a ... name="09000929812a0616" ... >

使用此name作为此地址的objectID来获取文件:

http://dctm.humana.com/Mentor/Web/v.aspx?dl=1&objectID=09000929812a0616