服务器无法使用Curl POST请求进行响应

时间:2014-10-26 14:11:24

标签: php curl

我使用此代码使用post

获取php curl请求网址的内容

代码如下所示:

// 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>";

结果似乎根本没有返回任何内容。

此代码有什么问题?

2 个答案:

答案 0 :(得分: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

因此,请确保您正在呼叫正确的终端。

答案 1 :(得分:-1)

实际上你需要设置这个变量

 $captcha2

在这里使用它 -

'security_code' => $capcha2