萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php使用curl如何實現簡單模擬提交表單功能的代碼實例

php使用curl如何實現簡單模擬提交表單功能的代碼實例

這篇文章主要為大家詳細介紹了php使用curl實現簡單模擬提交表單功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

php 使用curl 進行簡單模擬提交表單,供大家參考,具體內容如下

 

 代碼如下復制代碼

//初始化curl

$ch= curl_init();

$url='xxx'

$option= [

 CURLOPT_URL =>$url,

 CURLOPT_HEADER => 1,

 CURLOPT_RETURNTRANSFER => 1,

];

curl_setopt_array($ch,$option);

$output= curl_exec($ch);

preg_match_all('/Set-Cookie: (.*);/i',$output,$str);//正則匹配

//如果有token的話就獲取token

preg_match('/token = \"(.*)\"/i',$output,$token);

if(empty($str)) {

 returnfalse;

}

$cook=$str[1];

$cookie= implode('',$cook);

 

$up_url='xxx'

$post_data= [

 'name'=>'test_',

 'tel'=>�',

 'email'=>'[email protected]',

 'message'=>'this is my message;',

 '_token'=>$token[1],

];

$options= [

 CURLOPT_URL =>$up_url,

 CURLOPT_RETURNTRANSFER => 1,

 CURLOPT_HEADER => 1,

 CURLOPT_USERAGENT  =>"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36  (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36",

 CURLOPT_COOKIESESSION => 1,

 CURLOPT_POST => 1,

 CURLOPT_POSTFIELDS =>$post_data,

 CURLOPT_COOKIE =>$cookie

];

curl_setopt_array($ch,$options);

$res= curl_exec($ch);

// $info = curl_getinfo($ch);

if($res=== FALSE) {

 p('curl Error: '. curl_error($ch));

}

curl_close($ch);

p($res);

 

取自基於laravel開發的一個網站, laravel中表單中有一個csrf_token 的. 所以就得獲取token, 還有帶上cookie

這裡注意的是, 不能同時初始化兩個curl, 否則token或者cookie會發生變化, 如果你需要初始化兩個curl的話, 可以使用CURLOPT_COOKIEJAR設置. [詳情看手冊]

然後運行下:binggo

使用curl時, 比較重要的就是一個cookie的應用, 翻了下手冊, 設置cookie的就有四個...CURLOPT_COOKIESESSION、CURLOPT_COOKIE、CURLOPT_COOKIEFILE、CURLOPT_COOKIEJAR

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本網站。

copyright © 萬盛學電腦網 all rights reserved