使用preg_match_all和curl来捕获字段的值

时间:2013-12-03 14:54:21

标签: php curl

我正在尝试使用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,字符串就在那里。我做错了什么?

0 个答案:

没有答案