Код (Text): $url = "https://www.test.com/"; $post_str = "param1=1¶m2=2¶m3=3"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str); curl_exec($ch); curl_close($ch); Скрипт выполняется, но сама переадресация не происходит. cURL работает, обычный пример с мануала работает. И еще такой вопрос, если у меня курл выполняется со скрипта curl.php, то загружается страничка которую я указал, но адрес в браузерной строке указывает на страничку curl.php. Можно ли сделать, чтобы когда грузится новая страничка, то в адресной строке указывался настоящий адрес?
Должна грузиться новая страничка.... Вообщем я просто метод неправильный выбрал?? Мне нужно из скрипта, методом POST передать данные другой страничке и чтобы она грузилась, как это правильно сделать?
я же в самом начале написал код как я это делаю... PHP: $url = "https://www.test.com/"; $post_str = "param1=1¶m2=2¶m3=3"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str); curl_exec($ch); curl_close($ch);
$url = "https://paypal.com/cgi-bin/webscr"; $post_str = "cmd=".tourl("_xclick"); $post_str.= "&business=".tourl($business); $post_str.= "&item_name=".tourl(date("Y-m-d H:i")); $post_str.= "&item_number=".tourl($item); $post_str.= "&amount=".tourl($amount); $post_str.= "&invoice=".tourl($item); $post_str.= "¤cy_code=".tourl("USD"); $post_str.= "&no_shipping=".tourl("1"); $post_str.= "&add=".tourl("1"); $post_str.= "&rm=".tourl("2"); $post_str.= "&no_note=".tourl("1"); $post_str.= "&upload=".tourl("1"); $post_str.= "¬ify_url=".tourl(WEB_SERVER_NAME."ipn.php"); $post_str.= "&return=".tourl(HTTPS_WEB_SERVER_NAME_VENDORS."payment_complete.php"); $post_str.= "&cancel_return=".tourl(HTTPS_WEB_SERVER_NAME_VENDORS."payment_error.php");
э-э-э а с хрена тебе на пэйпал лезть? у них для всех клиентов интерфесы есть. ну так что не работает-то? что скрипт отвечает?
да нифига PHP: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); curl_close($ch); echo $res; выводит пустую строку
ну для начала я бы сделал как минимум http://php.ru/manual/function.curl-getinfo.html и http://php.ru/manual/function.curl-error.html и результаты сюда.
Сорри что не в тему . Пытаюсь использовать мультипоточность в курл . Есть 2 вопроса . Первый : Код (Text): // start performing the request do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); while ($active and $mrc == CURLM_OK) { // wait for network if (curl_multi_select($mh) != -1) { // pull in any new data, or at least handle timeouts do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); } } if ($mrc != CURLM_OK) { print "Curl multi read error $mrc\n"; } В чем здесь смысл цикла while ? В чем отличие от обычного использования multi_exec ? Код (Text): do { curl_multi_exec($mh,$running); } while ($running > 0); ----- Второй вопрос : коммент одного человека : Что он имеет ввиду ? Что если много потоков , то скрипт не может выполняться меньше чем 30 сек ? У меня что-то в этом роде . Получаю свою страницу на локалхосте допустим в 10 потоков - 0.04 сек . В 50 потоков - 0.20-0.28 сек . В 100 потоков - от 8 сек . В 1000 потоков - уже секунд 45 , но результат сохраняется только для 80-180 запросов из 1000 . Никак не могу понять , в чем причина .
pr0n1x вместо $post_str передавайте хеш PHP: <? $data = array( 'foo' => 'bar', ); curl_setopt($ch, CURLOPT_POSTFIELDS, $data);