2010-09-30 8 views
1

Возможно ли сделать сообщение cURL с PHP, которое опубликует мой массив значений и вернет только данные curl_getinfo, но ни одного содержимого страницы? Вот пример того, что я сейчас использую; он возвращает содержимое страницы в переменную.PHP cURL post без возврата содержимого страницы

Однако каждый раз, когда он возвращает содержимое страницы, он использует большую пропускную способность. Я пытаюсь уменьшить количество используемой пропускной способности; все, что мне действительно нужно, это данные curl_getinfo.

Добавил бы CURL_TIMECOND_IFMODSINCE выполнить это? (страница, которую я публикую, очень редко меняются)

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 10); 
curl_setopt($ch, CURLOPT_POST, true); 

$post_data = array(); 
$post_data["name"] = $name; 
$post_data["age"] = $age; 

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); 
$output = curl_exec($ch); 
$info = curl_getinfo($ch); 
+0

Вы управляете сервером, на который вы отправляете сообщения? – NullUserException

+0

В определенной степени. Это общий сервер; но я отправляю в другой домен. – Mark

+0

Что я имею в виду, у вас есть полный доступ к изменению сценария на сервере, на который вы отправляете сообщения? И какой ответ вы хотите вернуть? – NullUserException

ответ

5

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
используется для получения результата
$output = curl_exec($ch);
набор CURLOPT_RETURNTRANSFER ложь, так что это не будет.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

1

Нет. Вам необходимо, чтобы сервер не сообщал данные.

Вы можете попробовать добавить запрос диапазона в заголовки ... но я сомневаюсь, что динамическая страница будет уважать это.

0

Я не думаю, что

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); 

поможет, потому что только что позволяет захватывать отклик в переменной при вызове curl_exec(). Он не остановит ваш целевой сервер от ответа на вас при отправке данных.

Поскольку вам нужно использовать POST для отправки ваших данных, единственным вариантом является изменение целевого сценария, чтобы он не отвечал данными, которые вас беспокоят о пропускной способности. Может быть, просто добавьте необязательный флаг для подавления вывода скрипта на удаленном хосте?

Смежные вопросы