Я переношу массив объектов. У меня есть клиент cURL (податель заявки) на собственном сервере и скрипт прослушивания на другом сервере , который не под моим контролем. Тогда я думаю, что там, они блокируют входящие запросы cURL, потому что, когда я тестирую обычную HTML <form>
, она работает. Но не через cURL в любом случае.
Поэтому я думаю, что они сделали некоторые ограничения для cURL.
Тогда мои вопросы здесь:
Благодаря!
На стороне сервера мы можем заблокировать некоторые запросы, узнав поля заголовка (включая refer, cookie, user-agent и т. Д.) В HTTP-запросе, ip-адресе, частоте доступа. И в большинстве случаев запросы, сгенерированные машиной, обычно имеют нечто иное, чем человеческие запросы, например, отсутствие ссылки и cookie, или с более высокой частотой доступа, мы можем написать некоторые правила, чтобы отклонить эти запросы.
Согласно 1, вы можете попытаться изо всех сил смоделировать реальные запросы, заполнив поля заголовка, используя случайную и медленную частоту, используя больше IP-адресов. (звучит как атака)
Как правило, используя более низкую частоту и не делайте большую нагрузку для своего сервера, следуйте их правилам доступа, они редко блокируют ваши запросы.
$agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)'; $curl=curl_init(); curl_setopt($curl, CURLOPT_USERAGENT, $agent);
ЕСЛИ вы все еще сталкиваетесь с проблемой, выполните следующие действия.
1.
$config['useragent'] = 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0'; curl_setopt($curl, CURLOPT_USERAGENT, $config['useragent']); curl_setopt($curl, CURLOPT_REFERER, 'https://www.domain.com/');
2.
$dir = dirname(__FILE__); $config['cookie_file'] = $dir . '/cookies/' . md5($_SERVER['REMOTE_ADDR']) . '.txt'; curl_setopt($curl, CURLOPT_COOKIEFILE, $config['cookie_file']); curl_setopt($curl, CURLOPT_COOKIEJAR, $config['cookie_file']);
ПРИМЕЧАНИЕ. Вам нужна папка COOKIES в каталоге.
3.
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
Если это не решает проблему, то укажите Sample Input / Output / Error / etc. Таким образом, может быть предоставлено более точное решение.
Сервер не может блокировать только запросы cURL, потому что это просто HTTP-запросы. Поэтому изменение User Agent вашего cURL может решить вашу проблему, так как сервер будет думать, что вы подключаетесь через браузер, представленный в UA.