我正在用下面的腳本會發布到表格處理腳本的捲曲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