2014-10-26 187 views
0

没有响应我使用此代码来获得使用php curl服务器使用curl POST请求

守则post请求URL的内容看起来如下:

// Get cURL resource 
$curl = curl_init(); 
// Set some options - we are passing in a useragent too here 
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1, 
CURLOPT_URL => 'http://www1.ptt.gov.tr/tr/interaktif/sonuc-yd.php', 
CURLOPT_USERAGENT => 'Codular Sample cURL Request', 
CURLOPT_POST => 1, 
CURLOPT_POSTFIELDS => array(
    'barcode' => 'CP021325078TR', 
    'security_code' => $capcha2 
) 
)); 

// Send the request & save response to $resp 
$resp = curl_exec($curl); 
// Close request to clear up some resources 
curl_close($curl); 

echo "<pre>"; 
var_dump($resp); 
echo "</pre>"; 

结果似乎并没有返回什么都没有。

这段代码有什么问题?

回答

0

试试这个:

$url = 'http://www1.ptt.gov.tr/tr/interaktif/sonuc-yd.php'; 
$postvals = array(
    'barcode' => 'CP021325078TR', 
    'security_code' => $capcha2 
); 
$resp = Request($url,$postvals); 
echo "<pre>"; var_dump($resp); exit; 

...

function Request($url,$params=array()){ 
     $ch = curl_init(); 
     $curlOpts = array(
      CURLOPT_URL    => $url, 
      CURLOPT_USERAGENT  => 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0', 
      CURLOPT_SSL_VERIFYPEER => false, 
      CURLOPT_RETURNTRANSFER => true, 
      CURLOPT_FOLLOWLOCATION => true 
      ); 
     if(!empty($params)){ 
      $curlOpts[CURLOPT_POST] = true; 
      $curlOpts[CURLOPT_POSTFIELDS] = $params; 
     } 
     curl_setopt_array($ch,$curlOpts); 
     $answer = curl_exec($ch); 
     if (curl_error($ch)) { 
      echo curl_error($ch); exit; 
     } 
     curl_close($ch); 
     return $answer; 
    } 

编辑:

我试用了一下得到了:

Could not resolve host: www1.ptt.gov.tr 

所以确保你打电话正确的终点。

+0

从哪里u检验了吗? 也在这里你有链接,你可以手动提出请求,看看发生了什么后台: http://www1.ptt.gov.tr/tr/interaktif/kayitliposta-yd_yeniweb.php – 2014-10-26 14:37:39

+0

该页面不是加载在我的浏览器中。 – 2014-10-26 14:40:01

+0

进行测试:http://3v4l.org – 2014-10-26 14:40:28

-1

其实你需要设置这个变量

$captcha2 

在这里使用它 -

'security_code' => $capcha2