使用PHP发送带有表单值的curl请求

时间:2013-10-07 12:19:36

标签: php curl

我有一个这样的页面:

<form action method="POST">
   <input type="hidden" name="rand" value="casualnumbers">
   <input type="submit" value="Submit">
</form>

我需要获取结果页面,使用CURL将“rand”值作为POST变量发送。

我知道如何使用以下方式发送POST变量:

CURLOPT_POSTFIELDS => array("rand" => "casualnumbers")

但是如何从表格页面中取出“临时号码”?

该页面生成一个随机值,并且只有当获得正确的随机值时,post请求才有效,所以我需要从页面中获取随机值并立即发送带有正确随机值的post请求

1 个答案:

答案 0 :(得分:0)

这就是我使用的:

 preg_match_all('/<input.*type="(submit|hidden)".*name="([^"]+)".*value="([^"]*)".*>/u',$form_html,$vars);
$post_vars=array();
for($i=0;$i<count($vars[2]);$i++)
    $post_vars[$vars[2][$i]]=$vars[3][$i];
curl_setopt($curl,CURLOPT_POST, true);
curl_setopt($curl,CURLOPT_POSTFIELDS,$post_vars);

希望它有所帮助。