PHP cURL говорит, что перемещен навсегда при отправке POST на виртуальный хост

Я пытаюсь POST некоторые данные с PHP cURL на локальный сайт, который использует виртуальные хосты, чтобы иметь собственный домен http://example.local , но результат кажется Moved Permanently . Как я могу заставить это работать?

Это мой текущий код:

 $url = "http://example.local/paypal_ipn.php" $ch = curl_init(); //set the url, number of POST vars, POST data curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_POST, substr_count($req,'&')+1); curl_setopt($ch,CURLOPT_POSTFIELDS, $req); //execute post $result = curl_exec($ch); //close connection curl_close($ch); 

Я попытался установить CURLOPT_FOLLOWLOCATION как истинный, но это следует за данными POST.

Related of "PHP cURL говорит, что перемещен навсегда при отправке POST на виртуальный хост"

Используйте CURLOPT_CUSTOMREQUEST вместо CURLOPT_POST ;

 curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); 

И еще один шаг, вам нужно добавить

 curl_setopt($curl, CURLOPT_POSTREDIR, 3); 

3 означает follow redirect with the same type of request both for 301 and 302 redirects.

Таким образом, второй запрос будет также запрошен POST. Обратите внимание, что CURLOPT_POSTREDIR реализован в PHP 5.3.2 здесь

попробуй

 //** add options **// curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_POSTFIELDS, "your_var"); curl_setopt($curl, CURLOPT_POSTREDIR, 3); curl_exec($curl);