У меня есть два виртуальных хоста, xyz.com и abc.com. С xyz.com я делаю почтовый вызов curl (используя PHP) на http://abc.com/test Это возвращает мне «Ошибка 403 - Запрещено» (http://abc.com/test отлично работает в браузере)
Я знаю, что этот вопрос звучит довольно повторяющимся. Извините за это, поскольку я рассмотрел все решения, приведенные в предыдущих ответах, ничего не работает :-(
- Мои корневые папки (doc root) в Apache имеют права доступа 775.
В httpd.conf мои элементы управления следующие
Options FollowSymLinks AllowOverride All Order allow,deny Allow from all
- Я также попытался добавить USERAGENT (из firefox) в код для эмуляции браузера.
Я не понимаю, в чем именно проблема с Apache. Я использую Апач 2.4
Может кто-нибудь помочь в этом?
ОБНОВЛЕНО Ниже приведен код, который я использую для отправки запроса.
$curl = curl_init();
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
curl_setopt($curl, CURLOPT_TIMEOUT, 20);
curl_setopt($curl, CURLOPT_URL, 'http://abc.com/test');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'a=b&c=d&e=f');
$headers[] = 'Content-Type:application/x-www-form-urlencoded';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);