Mam 2 funkcje do cURL gdzie w jednym pobieram zawartość strony na podstawie samego linka a w drugim z żądania POST.
function grab_page($site){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_URL, $site);
return curl_exec ($ch);
curl_close ($ch);
}
function post_data($site,$data){
$datapost = curl_init();
$headers = array("Expect:"); curl_setopt($datapost, CURLOPT_URL, $site);
curl_setopt($datapost, CURLOPT_TIMEOUT, 40000);
curl_setopt($datapost, CURLOPT_HEADER, TRUE);
curl_setopt($datapost, CURLOPT_HTTPHEADER, $headers);
curl_setopt($datapost, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($datapost, CURLOPT_POST, TRUE);
curl_setopt($datapost, CURLOPT_POSTFIELDS, $data);
curl_setopt($datapost, CURLOPT_COOKIEFILE, "cookie.txt");
return curl_exec ($datapost);
curl_close ($datapost);
}
//login($url,$postinfo);
$html1 = str_get_html(iconv("iso-8859-2","UTF-8",post_data('link','post=przyklad'))); //nie dawałem konkretnego linku bo przy każdym tak działa.
$html2 = str_get_html(iconv("iso-8859-2","UTF-8",grab_page('link')));
ogólnie funkcja grab_page działa dobrze bo zapisuje mi do zmiennej, ale post_data jakoś dziwnie mi działa, zapiszę do zmiennej $html1 nie dając ani echo, print etc. a mimo wszystko wyświetla mi kod html.