0

嗨,curl 是使用带有 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;
4

1 回答 1

2

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

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

否则,您可能应该删除所有 curl 代码。

于 2013-01-23T01:58:36.137 回答