PHP - Как отправить запрос на веб-сайты? - PullRequest
0 голосов
/ 12 сентября 2010

Я использую curl, мне интересно, как бы я отправлял / отправлял данные на своей странице на эти сайты?Веб-сайт имеет «хост, время, порт».В моей базе данных MYSQL есть список URL.Я думал о curl_multi, но я не уверен.

Пожалуйста, кто-нибудь опубликует примеры.Это должен быть быстрый метод.

В основном использует URL и сообщение.

while($resultSet = mysql_fetch_array($SQL)){                
    $ch = curl_init($resultSet['url'] . $fullcurl);
    curl_setopt($ch, CURLOPT_TIMEOUT, 2);           
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
}

Ответы [ 3 ]

1 голос
/ 12 сентября 2010

Ссылка PHP cURL говорит, что параметр CURLOPT_POST, установленный на true, делает его запросом POST. CURLOPT_POSTFIELDS устанавливает поля, которые вы будете отправлять в формате foo=bar&spam=eggs (который можно построить из массива с http_build_query).

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'foo=bar&spam=eggs');
0 голосов
/ 12 сентября 2010

Вот пример того, как сделать это с curl_multi. Хотя вы должны разбить его на части, чтобы у вас было сразу определенное количество URL-адресов (т. Е. 30). Я добавил следующую директиву местоположения, которую вы обычно хотите.

$mh = curl_multi_init();
$ch = array();
while($resultSet = mysql_fetch_array($SQL)){                
    $ch[$i] = curl_init($resultSet['url'] . $fullcurl);
    curl_setopt($ch[$i], CURLOPT_TIMEOUT, 2);
    curl_setopt($ch[$i], CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch[$i], CURLOPT_FOLLOWLOCATION, true);
    curl_multi_add_handle($mh, $ch[$i]);
}
$running = null;
do {
    curl_multi_exec($mh,$running);
} while ($running > 0);
$num = count($ch);
for ($i=0; $i<$num; $i++ ) {
    curl_multi_remove_handle($mh, $ch[$i]);
}
curl_multi_close($mh);
0 голосов
/ 12 сентября 2010

Дайте этому шанс:

while ($resultSet = mysql_fetch_assoc($SQL)) {
  $ch = curl_init($resultSet['url']);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch, CURLOPT_TIMEOUT,2);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $fullcurl);
  $response = curl_exec($ch);
  curl_close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...