php,curl,curl_exec()

时间:2011-06-07 16:43:01

标签: php curl

我不得不尝试处理一个随机名称和形式html的值来通过curl发布数据 这是我的代码。

function grapvalue($html){

//parse content to grap name and value random

}

$opt = array(
         CURLOPT_AUTOREFERER => true,
         CURLOPT_RETURNTRANSFER => true,
         CURLOPT_COOKIEFILE => 'cookie.txt',
         CURLOPT_COOKIEJAR => 'cookie.txt'
         CURLOPT_POST => true,
         CURLOPT_POSTFIELDS => grapvalue($html)
       )

$init = curl_init("site.com")
curl_setopt_array($init,$opt)
$html = curl_exec($init)

我必须执行两次函数curl_exec(),首先我必须执行curl_exec函数来检索html以获取名称和随机值,然后发送数据。 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

以下是完整的解决方案:

//First, we make a request to grab the variables
function grapvalue(){

$opt = array(
     CURLOPT_AUTOREFERER => true,
     CURLOPT_RETURNTRANSFER => true,
     CURLOPT_COOKIEFILE => 'cookie.txt',
     CURLOPT_COOKIEJAR => 'cookie.txt'
   );

$init = curl_init("site.com");
curl_setopt_array($init,$opt);
$html = curl_exec($init);

//parse content to grap name and value random

}

//Than, just call grapvalue() without any parameters
$opt = array(
     CURLOPT_AUTOREFERER => true,
     CURLOPT_RETURNTRANSFER => true,
     CURLOPT_COOKIEFILE => 'cookie.txt',
     CURLOPT_COOKIEJAR => 'cookie.txt'
     CURLOPT_POST => true,
     CURLOPT_POSTFIELDS => grapvalue()
   );

$init = curl_init("site.com");
curl_setopt_array($init,$opt);
$html = curl_exec($init);

提示:您可能更愿意使用CURLOPT_COOKIE而不是CURLOPT_COOKIEFILECURLOPT_COOKIEJAR

答案 1 :(得分:1)

为什么你不创建function cURL(),调用该函数,获取$html并再次使用帖子值调用?