2012-06-05 69 views
0

我又一次遇到了一個奇怪的問題:當請求一個現有的URL時,遠程服務器返回404

我正在寫一個履帶式爲特定的網站建立索引。幾個星期以來,它運行良好,我每小時發送太多請求時只遇到問題。

但現在我甚至無法訪問單個頁面。

但是更奇怪的是:我必須通過POST提交一些表單值,但服務器返回404錯誤 - 儘管URL絕對正確。

我實施了許多技術來防止識別爲機器人的蜜蜂:更改用戶代理,延遲,並且我發送Referer頭來假裝表單是從他們自己的網站提交的。

這可能是他們的服務器上的垃圾郵件或DDOS保護嗎?或者還有其他可能的錯誤來源?

+0

如果你正在做一些「調皮」的事情,那麼你的IP很可能被阻止了。 –

+0

但是我在本地機器上運行腳本時也得到了404。 – Robert

+0

使用我的瀏覽器 - 當然也是在我的本地機器上 - 一切正常。 – Robert

回答

0

好吧,剛剛解決它。

遠程服務器的一個非常奇怪的行爲導致了這個問題:當發送比預期更多的參數時,它返回404而不是忽略不需要的參數。

0

確定您的網址沒有任何額外的數據。

此:

curl_setopt($ch, CURLOPT_URL, 'http://www.aspsite.com/'); 

成爲(注意去掉反斜線):

curl_setopt($ch, CURLOPT_URL, 'http://www.aspsite.com'); 

如果您打算使用GET數據,請確保您的ASP文件的要求完全相符的數據,你寄過來。

相關問題