2012-06-06 2 views
1

Я новичок в curl. Просто я пытаюсь опубликовать значение, используя скрипт curl, но я получаю пустой ответ. Помогите мне, есть ли ошибка в моем коде? Как добавить значение с помощью curlCURL Script - POST

$params = array('name' => 'karthick', 'type' => 'data'); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://example.com/test.php?action=create'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, true); 
// curl_setopt($ch, CURLOPT_USERPWD,$authentication); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
// curl_setopt($ch, CURLOPT_REFERER,'http://www.example.com.au'); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$params); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain')); 

$result = curl_exec($ch); 
curl_close($ch); 

var_dump($result); 
+0

вы получаете статус ответа как 200 в первую очередь? предложите установить подробные сведения и вы получили правильный ответ от этого URL-адреса ранее, например, используя cURL из командной строки, поскольку есть вероятность, что это может быть проблема с сервером? – optimusprime619

+0

получил статус ответа -201 :) теперь работает. Спасибо за ваши ценные комментарии –

ответ

1

Вы можете попробовать этот код

public function getDataThroughCurlPost($param) 
{ 
    $ch = curl_init("$url"); 
    error_reporting(E_ALL); 
    curl_setopt ($ch, CURLOPT_POST, true); 
    curl_setopt ($ch, CURLOPT_POSTFIELDS, "$param"); 

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_VERBOSE, 1); 
    curl_setopt($ch, CURLOPT_NOBODY, 0); 

    $response = curl_exec($ch); 
    $ch = curl_close("$url"); 
    return $response; 
} 
+0

Привет, я пробовал, но не получил результат –

+0

это рабочий код, я использую эту функцию, пожалуйста, пришлите мне весь ваш код –

+0

Anoop :) Спасибо Его работа теперь –

0

использовали это для очень немногих из моих сайтов. Надеюсь это поможет.

$sPost .= "<Username>".$username."</Username>"; 
$sPost .= "<Password>".$password."</Password>"; 

$url = "YOUR_POST_URL"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$sPost); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$logindetails = curl_exec($ch); 
curl_close($ch); 

$xmlarray = xml2array($details); 

echo "<pre>"; 
print_r($xmlarray); 
echo "</pre>"; 

xml2array класс здесь: http://www.bin-co.com/php/scripts/xml2array/

+0

Привет, я пробовал свой код, но я получаю пустой ответ –

+0

Hmm..Use error_reporting (-1), чтобы узнать, есть ли какие-либо ошибки. Также у вас есть завиток? – Dev

0

// локон функция запускает

function get_web_page($url) 
    { 
      $options = array(
      CURLOPT_RETURNTRANSFER => true,  // return web page 
      CURLOPT_HEADER   => false, // don't return headers 
      CURLOPT_FOLLOWLOCATION => true,  // follow redirects 
      CURLOPT_ENCODING  => "",  // handle compressed 
      CURLOPT_USERAGENT  => "spider", // who am i 
      CURLOPT_AUTOREFERER => true,  // set referer on redirect 
      CURLOPT_CONNECTTIMEOUT => 120,  // timeout on connect 
      CURLOPT_TIMEOUT  => 120,  // timeout on response 
      CURLOPT_MAXREDIRS  => 10,  // stop after 10 redirects 
      ); 
     $ch  = curl_init($url); 
     curl_setopt_array($ch, $options); 
    $content = curl_exec($ch); 
    $err  = curl_errno($ch); 
    $errmsg = curl_error($ch); 
    $header = curl_getinfo($ch); 
    curl_close($ch); 

    $header['errno'] = $err; 
    $header['errmsg'] = $errmsg; 
    $header['content'] = $content; 
    return $header; 
} 

// локон функция конца

$cont = get_web_page("http://website.com/filename.php"); 

$handle = explode("<br>",$cont['content']); 
print_r($handle); 
+0

Это не POST – Leigh