オブジェクト配列を転送しています。 自分のサーバーのcURLクライアント(送信者)と他のサーバーのリスニングスクリプトがありますが、これらは私の制御下にはありません。そして、私はそこにあると思う、彼らは着信cURLリクエストをブロックしている、なぜなら私が通常のHTML _<form>
_でテストするとき、それが働いているからだ。とにかくcURL経由ではありません。
だから私は彼らがcURLに何らかの制限を加えたと思う。
それから私の質問はここにあります:
ありがとう!
サーバー側では、httpリクエストのヘッダーフィールド(refer、cookie、user-agentなどを含む)、IPアドレス、アクセス頻度を認識することで、一部のリクエストをブロックできます。ほとんどの場合、マシンによって生成されたリクエストには通常、人間のリクエストとは異なるものがあります。たとえば、参照とCookieがない、またはアクセス頻度が高い場合、これらのリクエストを拒否するルールを作成できます。
1によれば、より多くのIPアドレスを使用して、ランダムで遅い頻度でヘッダーフィールドを埋めることにより、実際のリクエストをシミュレートするために最善を尽くすことができます。 (攻撃のような音)
一般に、使用頻度を低くし、サーバーに大きな負荷をかけず、アクセスルールに従うと、リクエストがブロックされることはほとんどありません。
それでも問題が解決しない場合は、次を実行します。
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);
これらを実行しても問題が解決しない場合は、サンプルの入力/出力/エラーなどを提供します。そのため、より正確なソリューションを提供できます。
$agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)';
$curl=curl_init();
curl_setopt($curl, CURLOPT_USERAGENT, $agent);
サーバーはcURLリクエストのみをブロックすることはできません。それらはHTTPリクエストであるためです。サーバーがUAに表示されているブラウザーを介して接続していると考えるため、cURLのユーザーエージェントを変更すると問題を解決できます。