2015-08-26 25 views
0

我試圖使用捲曲發送POST到網站接受的答案,我希望收到以字符串格式請求我不能發送帖子的形式和使用捲曲

我的代碼是:

<?php 

$ch = curl_init(); 

//$post = array('text' => 'I am driving an ice cream truck'); 
    $params = array('I am driving an ice cream truck'); 
    $postData = 'text'; 

    foreach($params as $k => $v) 
    { 
     $postData .= $k . '='.$v.'&'; 
    } 
    rtrim($postData, '&'); 


curl_setopt($ch, CURLOPT_URL, 'http://beta.visl.sdu.dk/visl/en/parsing/automatic/parse.php'); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
//curl_setopt($ch, CURLOPT_POST, 1); 

//curl_exec($ch); 
$data = curl_exec($ch); 

echo $data; 
?> 

當我運行代碼時,我沒有得到請求的響應,只有沒有任何POST的頁面。

我在做什麼錯?

+1

您可以將數組傳遞給'CURLOPT_POSTFIELDS'。 –

+0

如果你做'echo $ postData;'你會發現它可能不是你想要的格式 – rjdown

回答

1

你錯過了通過該網站需要一些額外的信息,如PASER和visualitzation,你也可以發送數組到CURLOPT_ POSTFIELDS

因此,建立所需的PARAMS這樣的:

$params = array(
'text' => 'I am driving an ice cream truck', 
'paraser' => 'dep-eb', 
    'visual' => 'niceline' 
); 

再發送數據是這樣的:

curl_setopt($ch, CURLOPT_URL, 'http://beta.visl.sdu.dk/visl/en/parsing/automatic/parse.php'); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$data = curl_exec($ch); 

通知的http_build_query()功能打造的字符串PARAMS。

+0

非常感謝你。我真的沒有意識到有更多的參數。 = d –