我正在尝试使用curl进行自动发布,但问题是每次加载页面时都会有一个隐藏字段更改其值。所以我使用preg_match_all来捕获这个值并将其传递给帖子。事实是preg_match_all没有返回任何东西。
这是我正在使用的代码:
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'http://www.blidoo.es/pub/');
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch,CURLOPT_HTTPHEADER,array("Accept-Language: es-es,en"));
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch,CURLOPT_PROXYTYPE,'HTTP');
curl_setopt($ch,CURLOPT_PROXYPORT,'5677');
curl_setopt($ch,CURLOPT_PROXY,'192.168.11.16');
curl_setopt($ch,CURLOPT_PROXYUSERPWD,'daemon@AgentOrange.1989');
$result = curl_exec($ch);
$rerror = curl_error($ch);
curl_close($ch);
preg_match_all("(<input type=\"hidden\" name=\"publicar[_csrf_token]\" value=\"(.*)\" id=\"publicar__csrf_token\" />)siU",$result,$matches1);
$return = trim($matches1[1][0]);
我检查了$ result,字符串就在那里。我做错了什么?