夏期劇*_*期劇場 15 php user-agent curl http-headers
我正在传输一个Object Array.我有自己的服务器上卷曲的客户端(提交)和听脚本其他的服务器上,哪一次不是我的控制之下.然后我认为,他们阻止了传入的cURL请求,因为当我使用普通的HTML进行测试时<form>,它正在运行.但无论如何不是通过cURL.
所以我认为他们对cURL做了一些限制.
那我的问题是:
谢谢!
小智 24
如果您仍然遇到问题,请执行以下操作.
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/');
Run Code Online (Sandbox Code Playgroud)
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']);
Run Code Online (Sandbox Code Playgroud)
注意:您需要目录中的COOKIES文件夹.
3.
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
Run Code Online (Sandbox Code Playgroud)
如果这样做没有解决问题,那么给出样本输入/输出/错误/等.因此,可以提供更精确的解决方案.
sra*_*ain 20
$agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)';
$curl=curl_init();
curl_setopt($curl, CURLOPT_USERAGENT, $agent);
Run Code Online (Sandbox Code Playgroud)
小智 5
在服务器端,我们可以通过识别http请求中的头字段(包括refer,cookie,user-agent等),ip地址,访问频率来阻止某些请求.在大多数情况下,机器生成的请求通常与人类请求有所不同,例如,没有引用和cookie,或者具有更高的访问频率,我们可以编写一些规则来拒绝这些请求.
根据1,您可以尝试使用更多的IP地址填充标题字段,使用随机和较慢的频率来模拟实际请求.(听起来像是攻击)
通常,使用较低的频率并且不会对其服务器造成重负荷,遵循其访问规则,它们很少会阻止您的请求.
| 归档时间: |
|
| 查看次数: |
60290 次 |
| 最近记录: |