Security
|Thachthat.biz|
today : | at : | safemode : ON
> / home / root /public_html / it.thachthat.biz /
Name User Perms Com Modified Label

Kỹ thuật CURL thông qua Proxy Unknown rwxr-xr-x 0 22:30

Filename Kỹ thuật CURL thông qua Proxy
Permission rw-r--r--
Author Unknown
Date and Time 22:30
Label
Action
Nói tới CURL chắc các bạn đã thấy được sức mạnh tuyệt vời của nó, hôm nay, mình sẽ hướng dẫn các bạn CURL thông qua 1 proxy. Hàm định nghĩa để sử dụng

<?php//--Code by: Hoàng Ngọc Hiếu - KIST.VNfunction getPage($proxy$url$referer$agent$header$timeout) {
    
    $proxyinfo=explode(':',$proxy);
    
    $ch curl_init();
    
    curl_setopt($chCURLOPT_URL$url);
    
    curl_setopt($chCURLOPT_HEADER$header);
    
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
    curl_setopt($chCURLOPT_PROXY$proxyinfo[0]);
    
    curl_setopt($chCURLOPT_PROXYPORT$proxyinfo[1]);
    
    curl_setopt($chCURLOPT_HTTPPROXYTUNNEL0);
    
    curl_setopt($chCURLOPT_CONNECTTIMEOUT$timeout);
    
    curl_setopt($chCURLOPT_REFERER$referer);
    
    curl_setopt($chCURLOPT_USERAGENT$agent);
 
    
     $result['EXE'] = curl_exec($ch);
    
    $result['INF'] = curl_getinfo($ch);
    
    $result['ERR'] = curl_error($ch);
 
    
     curl_close($ch);
    return 
    return $result;
}
}?>

 Diễn giải các hàm sử dụng



  • curl_init - Khởi tạo cURL session.
  • curl_setopt - Thiết lập tùy chọn khi CURL.
  • curl_exec - Thực hiện cURL và lấy nội dung trả về.
  • curl_getinfo - Lấy thông tin về quá trình CURL.
  • curl_error - Trả về 1 chuỗi mang nội dung là lỗi của quá trình CURL cuối cùng trong session CURL này.
  • curl_close - Đóng cURL session.


Các tùy chọn curl_setopt


  • CURLOPT_URL -URL mình muốn CURl tới
  • CURLOPT_HEADER -Có kèm header của http response vào nội dung trả về ko ?
  • CURLOPT_RETURNTRANSFER -Trả kết quả transfer về dạng 1 string
  • CURLOPT_PROXY - HTTP proxy mà mình sẽ sử dụng.
  • CURLOPT_HTTPPROXYTUNNEL -Bật đường ống đi qua Proxy ?
  • CURLOPT_CONNECTTIMEOUT - Thời gian Time out khi kết nối.
  • CURLOPT_REFERER - Muồn giả refer là từ đâu ?.
  • CURLOPT_USERAGENT - Muốn fake userAgent là gì ?.


Kết quả trả về

  • $result['EXE']: Nội dung trang get đc
  • $result['INF']: Thông tin về quá trình CURL
  • $result['ERR']: Lỗi khi CURL nếu có

Cách dùng



<?php$result getPage(
    
    '[proxy IP]:[port]',// Dùng 1 proxy hợp lệ
    
    'http://www.google.com/search?q=sinhvienit.net',
    
    'http://www.google.com/',
    
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8',
    
    '',
    
    5);
 
if (empty(
 if (empty($result['ERR'])) {
    
    // Nếu quá trình CURL ko có lỗi nào
    // Xuất kết quả get đc
    
    // Xuất kết quả get đc    echo $result['EXE'];
} else {
     
} else {     // Xảy ra lỗi ?
    // Xuất lỗi
    
    // Xuất lỗi    echo 'Error: '.$result['ERR'];
}
}?>

0 nhận xét:

 

Jayalah Indonesiaku © 2014 IT Thạch Thất
VB (Vio b374k) Template design by Thachthat.biz