| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Стартапы, проекты, идеи > post https curl данные отправляются не верно |
| Автор: leroy 12.7.2009, 16:05 |
| Добрй день! Есть форма заказа товара которую граблю с забугорного сайта без изменений! единственно правлю acction на то чтобы уходил запрос на мой сайт, у себя делаю следующее $rst=''; foreach($_POST as $key=>$value)$rst.=($rst=='')?"$key=$value":"&$key=$value"; $url = 'https://www.sitename.com/WPS/shoppingcart/Shoppingcart/ProcessOrder.asp'; $data = $crl->post($url,$rst); print($data); где $crl = new CURL(); следующий скрипт не мой нашел гдето в сети: class CURL { var $callback = false; var $cookiefile=''; function setCallback($func_name) { $this->callback = $func_name; } function doRequest($method, $url, $vars) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_VERBOSE,1);//эксперимент if(!empty($this->cookiefile)){ curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookiefile); curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookiefile); } if ($method == 'POST') { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); } $data = curl_exec($ch); curl_close($ch); if ($data) { if ($this->callback) { $callback = $this->callback; $this->callback = false; return call_user_func($callback, $data); } else { return $data; } } else { return curl_error($ch); } } function post($url, $vars) { return $this->doRequest('POST', $url, $vars); } } При этом всем в $data приходит HTTP/1.1 100 Continue Server: Microsoft-IIS/5.0 Date: Sun, 12 Jul 2009 11:07:30 GMT HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Sun, 12 Jul 2009 11:07:30 GMT Content-Length: 0 Content-Type: text/html Cache-control: private Что я так понимаю все ок, но данных мы вам не дали. Собственно, если делать все через браузер то поменяв http на https ничего не меняется все работает без изменений. Но при аналогичном запросе приходит еще раз сама форма с измененными коэфициентами. |