我正在用下面的脚本会发布到表格处理脚本的卷曲POST请求:我的cURL请求会混淆某些服务器?
$url = "http://www.example.com/process_script.php";
$referer = "http://www.example.com";
$agent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11";
$postdata = array('message' => 'Hello, World!', 'name' => 'Bob');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_exec($ch);
它正常工作的一些网址。另外,当我将它发布到我的测试脚本(它只输出引用者和代理以及postdata)时,它工作得很好。
但是,有些服务器给我这个奇怪的“服务器无法理解你的查询”错误,虽然。这不是403,因为当我删除用户代理选项时,我得到了403.用户代理字符串有什么问题吗?它直接从我的实际浏览器中拉出来。
我需要设置更多选项来模拟真实的浏览器吗?
如果确实引用了消息,因为它是,它的服务器的一个内部错误。我建议首先检查你的参数:也许他们应该用大写字母或其他名字命名。 ) – raina77ow 2012-03-04 23:04:32