Hướng dẫn gửi dữ liệu đi bằng Curl post

Hướng dẫn gửi dữ liệu đi bằng Curl post

Ở bài viết này mình sẽ hướng dẫn các bạn sử dụng curl để gửi dữ liệu sang một site khác. cái này khó ở phần thiết lập các thuộc tính curl_setopt thôi nhưng không sao đừng có nản  mình sẽ cung cấp cho các bạn một function mà mình đã làm sẵn các bạn chỉ cần sử dụng function đó và chạy thui ...
trước tiên là cái function bạn lưu nó với tên Class_Curl.php nhé

<?php
defined('COPYRIGHT_bvq') or die('truy cap http://m.vnsinhvien.com nhe');
Class Bvq_Curl{
///biến lưu user agent
var $bvq_user_agent;
///tên tập tin lưu cookie
var $bvq_cookie_file;
//địa porxy nếu sử dụng
var $bvq_porxy;
///cổng của porxy
var $bvq_porxy_port;
//trang web mà trước đó bạn vào
var $bvq_referer;

public function set_referer($url){
$this->bvq_referer = $url;
}

///set user agent
public function bvq_set_useragent($useragent){
$this->bvq_user_agent = $useragent;
}
///gán cookie file
public function bvq_set_cookie($file_name){
$this->bvq_cookie_file = $file_name;
}
///cấu hình porxy. sửa dụng một porxy hợp lệ
public function bvq_set_porxy($porxy,$port){
$this->bvq_porxy = $porxy;
$this->bvq_porxy_port = $port;
}

/*check xem kết quả true hay false
* ví dụ khi bạn gửi đi site mình curl nó trả về dòng "OK" là true còn lại là false
*$class->bvq_check('str full','str check');
*/
public function bvq_check($str_full,$str_check){
$str_full=strtoupper($str_full);
if(!is_array($str_check)) $str_check=array($str_check);
for($i=0;$i<count($str_check);$i++) if(strpos(($str_full),strtoupper($str_check[$i]))!==false) return true;
return false;
}


///function thuc hien gui du lieu di
public function GUI_DU_LIEU($url='',$var=''){

$curl = curl_init();
if (isset($this->bvq_porxy)) {
curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, true);
curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($curl, CURLOPT_PROXY, $this->bvq_porxy);
curl_setopt($curl, CURLOPT_PROXYPORT, $this->bvq_porxy_port);
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,20);
curl_setopt($curl, CURLOPT_USERAGENT, $this->bvq_user_agent);
curl_setopt($curl, CURLOPT_REFERER, $this->bvq_referer);

if($var) {
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $var);
}

curl_setopt($curl, CURLOPT_COOKIEFILE,$this->bvq_cookie_file);
curl_setopt($curl, CURLOPT_COOKIEJAR,$this->bvq_cookie_file);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 3);
curl_setopt ($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
} //hết class
?>

tiếp nữa là cái script thực thi bạn mở notepad lên và lưu với tên index.php nhé

<?php
define('COPYRIGHT_bvq','M.VNSINHVIEN.COM');
include 'Class_Curl.php';

$bvq_class = new Bvq_Curl;

//giả lập trình duyệt
$bvq_class->bvq_set_useragent('PC cùi bắp (Version 1.1,Made in China) <img src="http://static.me.zing.vn/v3/images/smilley/default/21.jpg"/>');

//nơi lưu cookie
$cookie_file = 'save_cookie.txt'; //nếu như host không tự tạo thì bạn hãy tạo và chmod 0666 nhé.
$bvq_class->bvq_set_cookie($cookie_file);

$bvq_class->set_referer('http://m.vnsinhvien.com/');

///url mình muốn gửi data
$url = 'http://localhost/web/test/MCV/form.php';  ///cái này là mình sử dụng Vertrigo nên là localhost các bạn mang về chỉ cần sửa url này cho đúng với đường dẫn tới file form.php là được.! đây chính là đường dẫn tới file form.php mà mình post phía dưới đó :D
///thiết lập các field sẽ gử đi
$bvq_form_field = array(
'this_name' => 'bùi văn quyền',
'this_class' => 'QTM',
);
//giả lập rằng http://localhost/web/test/MCV/form.php có 2 field là this_name và this_class
//bắt đầu gửi đi nào
$result = $bvq_class->GUI_DU_LIEU($url,$bvq_form_field); //sau khi gửi đi sẽ trả về source code của http://localhost/web/test/MCV/form.php

echo $result;

iF($bvq_class->bvq_check($result,'<status>OK</status>')){
echo '<hr/>gửi OK rùi hehe';
}else{
echo '<hr/>lỗi rùi nhé';
}
?>

và file để bạn gửi có tên form.php

<?php
if(empty($_POST['this_name']) && empty($_POST['this_class'])){
?>
<form action="" method="post">
ten ban la gi <input type="text" name="this_name" value="bui van quyen"/>
ban hoc lop nao vay <input type="text" name="this_class" value="QTM"/>
<input type="submit" name="submit" value="gui nhe"/>
</form>

<?php
}else{
echo '<status>OK</status>';
echo "<br/> Chao ban ".$_POST['this_name']." ban hoc lop ".$_POST['this_class']." phai khong nek";

echo '<br/> Bạn vừa ở trang web <b><a href="'.$_SERVER['HTTP_REFERER'].'">'.$_SERVER['HTTP_REFERER'].'</a> </b> đúng không';

echo '<br/> bạn đang dùng trình duyệt <b> '.$_SERVER['HTTP_USER_AGENT'].'</b> <br/>';

echo 'Test form <a href="form.php">click here </a>';
}
?>

vậy là xong rồi đó. để gửi tới một site khác trên internet thì chỉ cần thay cái $url và mấy cái field trong $bvq_form_field là OK rùi!

tải toàn bộ ví dụ về máy của mình: http://www.mediafire.com/?9tputm3nus54hnc mật khẩu unzip: m.vnsinhvien.com
chúc các bạn thành công 

Bạn thấy bài viết này như thế nào?: 
No votes yet

Quảng cáo việc làm

 

Thích hợp các bạn nữ mảng thợ may làm việc tại nước NGA

Đơn hàng Tuyển dụng 100 Thợ may đi Nga(đợt 1 tháng 3.2021, đợt 2 tháng 5.2021). Lương thực lãnh 800 USD, bao ăn ở, vé máy bay và visa, phí xuất cảnh(1800 USD)trả khi đi làm có lương. Bạn có thể liên hệ CÔNG TY qua Phone/Zalo: (+84) 944 225 212. Công ty sẽ tư vấn cho bạn.

Xem chi tiết: >>> https://bit.ly/3o9NOfR

Tìm kiếm bất động sản

 

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Mẹo nhỏ giúp Windows 7 khởi động nhanh hơn

Mẹo nhỏ giúp Windows 7 khởi động nhanh hơn

Một máy tính chạy nhanh là thứ mà người dùng máy tính luôn mong muốn. Trong hướng dẫn này chúng tôi giới thiệu cho các bạn một số mẹo giúp máy tính Windows 7 khởi động nhanh hơn.

Kiểm soát côn trùng chuột toàn diện - diệt chuột

Kiểm soát côn trùng chuột toàn diện - diệt chuột

Khi hợp đồng cũ hết thời hạn hiệu lực, hai bên có thể gia hạn hoặc ký hợp đồng dịch vụ mới cho năm kế tiếp

Khóa học Drupal trực tuyến

Bình Dương mở khóa học Drupal trực tuyến

Bạn đang là lập trình viên PHP, Bạn đang muốn xây dựng 1 website thật nhanh chóng nhưng vẫn đảm bảo nhanh, bảo mật, linh động, đẹp, ...