简单的HTML Dom和Curl

时间:2013-01-22 20:36:36

标签: php curl simple-html-dom

嗨是卷曲使用带cookie的POST的最佳方法,并导航到另一个页面进行报废?我正在使用下面的编码,我无法让它工作。

include('simple_html_dom.php');

    $data = array(
     '__EVENTTARGET' => '',
     '__EVENTARGUMENT' => '',
     '__VIEWSTATE' => '%2FwEPDwUKLTcyODA2ODEwMGRk',
     'Myname' => 'justdev12345',
     'Mypassword' => '12345',
     'idLogin' => 'Login',
     'tmplang2' => '6',
     'fm' => '',
     'jc' => '',
     'LoginRef' => ''
     );

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://secure.site.com/mainframe.aspx");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_COOKIEJAR, "sdc_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "sdc_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIESESSION, true);

$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

$output = new simple_html_dom();   
$output = file_get_html('http://profiles.site.com/profile_900.aspx?AccountID=ShopCartUpdate');
print $output;

1 个答案:

答案 0 :(得分:2)

你的代码很好,直到你扔掉curl响应并用simple-html-dom加载url结束。如果你想使用curl响应,它应该如下所示:

$html = str_get_html($output);
$html->find('title');

否则你应该删除所有卷曲代码。