Форумы портала PHP.SU » » HTTP и PHP » Натыкаюсь на ошибку при использовании «CURL»

Страниц (1): [1]
 

1. Ромчик - 10 Июля, 2016 - 17:05:49 - перейти к сообщению
Здравствуйте, никак не получается перейти на второй шаг регистрации у сайта amway.ru.

Как происходит регистрация у того сайта:
1. 1 шаг регистрации на главном домене (https://www.amway.ru/reg-customer-registration?flow.flow=reg_customer_registration);
2. происходит редирект на поддомен (https://forms.amway.ru/sponsoring_rwd_ru/1?renderer.slotId=phf7vlqm91covws0);
3. 3 шага продолжения регистрации на поддомене.

Действия, которые мне удалось совершить:
1. получить капчу;
2. отправить POST запрос на первую форму регистрации (главный домен).

Но после того, как я правильно ввожу капчу, у меня выходит ошибка (файл прикрепил). А по логике, я должен получить «Header: Location...» на поддомен «forms.amway.ru».

Может быть я что-то упускаю (заголовки пропустил или ещё что-то)? → Есть идеи (через браузер регистрация проходит)?

Код метода отправки запроса при помощи CURL:
PHP:
скопировать код в буфер обмена
  1.  
  2. private function send_form($url, $fields, $referer = 'https://www.amway.ru/reg-customer-registration?flow.flow=reg_customer_registration'){
  3.            
  4.             $ch = curl_init();
  5.            
  6.             curl_setopt($ch, CURLOPT_URL, $url);
  7.            
  8.             // откуда пришли на эту страницу
  9.             curl_setopt($ch, CURLOPT_REFERER, $referer);
  10.            
  11.             // Заголовки браузера
  12. //          curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  13. //              'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
  14. //'Accept-Encoding:gzip, deflate, br',
  15. //'Accept-Language:ru,en-US;q=0.8,en;q=0.6',
  16. //'Cache-Control:max-age=0',
  17. //'Connection:keep-alive',
  18. //'Content-Length:306',
  19. //'Content-Type:application/x-www-form-urlencoded',
  20. ////'Cookie:cart-content=; CTSESSION=AAAAAgABAEilyheKgl9VeBdAeWxta2PM7qjiKe00d0g9hwclFaPgDAZN7x4t7S6jb5tS+AgTwNWTcrL6IF2VjvB5clIdoNmN4+lRbu9XM/8=; CMSSESSIONID=MnwXl5SCV8UxH7-F+JuVPg__.aolacn-prodru4; s_vnum=1470678338211%26vn%3D2; JSESSIONID=0001FbhoM5WN8yuw1TB2A50Yc8a:1alqnjea5; s_cc=true; s_gttc_r=1468103174371; sc.ASP.NET_SESSIONID=ckmtv31e0qars04qr4kssmwv; sc.Status=8; s_sq=agaglobalwebprod%2Cagaeiawebruprod%3D%2526pid%253Damway%25253Aru%25253Areg-customer-registration%2526pidt%253D1%2526oid%253Dhttps%25253A%25252F%25252Fwww.amway.ru%25252Freg-customer-registration%25253Fflow.flow%25253Dreg_customer_registration%252523%2526ot%253DA; s_ppv=amway%253Aru%253Areg-customer-registration%2C94%2C37%2C1643; s_fid=602F696A11FB139A-0FA602B6A732A7B8; s_invisit=true; beforeUnloadTime=1468103351384',
  21. //'Host:www.amway.ru',
  22. //'Origin:https://www.amway.ru',
  23. //'Referer:https://www.amway.ru/reg-customer-registration?flow.flow=reg_customer_registration',
  24. //'Upgrade-Insecure-Requests:1',
  25. //'User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
  26. //          ));
  27.            
  28.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  29.             curl_setopt($ch, CURLOPT_POST, true);
  30.             curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
  31.             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
  32.             curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  33.             curl_setopt($ch, CURLOPT_VERBOSE, true);
  34.             curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
  35.             curl_setopt($ch, CURLINFO_HEADER_OUT, true);
  36.             curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  37.                 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
  38. 'Accept-Encoding: gzip, deflate, br',
  39. 'Accept-Language: ru,en-US;q=0.8,en;q=0.6',
  40. 'Cache-Control: max-age=0',
  41. 'Connection: keep-alive',
  42. 'Content-Type: application/x-www-form-urlencoded',
  43.                 'Host: www.amway.ru',
  44. 'Origin: https://www.amway.ru',
  45. 'Referer: https://www.amway.ru/reg-customer-registration?flow.flow=reg_customer_registration',
  46. 'Upgrade-Insecure-Requests: 1',
  47. 'User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
  48.             ));
  49.             curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
  50.            
  51.             // отсылаем серверу COOKIE полученные от него при авторизации
  52. //          curl_setopt($ch, CURLOPT_COOKIE, $this->ArrayToCookie(array(
  53. //              's_cc' => 'true',
  54. //              's_invisit' => 'true',
  55. //              'sc.Status' => '8',
  56. //              's_fid' => '1C398AE6725DF782-34D9F3E3E40FF3A3',
  57. //              's_ppv' => 'amway%253Aru%253Areg-customer-registration%2C94%2C94%2C1634',
  58. //              'sc.ASP.NET_SESSIONID' => 'efpt4l4clgkhjfmvuvnqzclg'
  59. //          )));
  60.            
  61.             curl_setopt($ch, CURLOPT_COOKIEFILE, $this->dir_path.'/cookie.txt');
  62.             curl_setopt($ch, CURLOPT_COOKIEJAR, $this->dir_path.'/cookie.txt');
  63.             curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36");
  64.            
  65.             $result = curl_exec($ch);
  66.            
  67.             $info = curl_getinfo($ch);
  68.             print_r($info);
  69.             $redir = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
  70.             print_r($redir);
  71.            
  72.            
  73.            
  74.             curl_close($ch);
  75.            
  76.             return $result;
  77.            
  78.         }
  79.  

 

Powered by ExBB FM 1.0 RC1