2013-07-17 77 views
0

我有這樣的代碼Python的Post請求返回意外HTML

import urllib,urllib2 
site="http://m.facebook.com/login.php" 
data={ 
'email':'myemail', 
'pass':'' 
} 
data=urllib.urlencode(data) 
request=urllib2.Request(site,data) 
request.add_header('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT') 
html=urllib2.urlopen(request) 
print html.read() 

所以,因爲它是它應該有error..But返回一個登錄頁面,一個空密碼,而不是它返回的頁面的HTML沒有任何錯誤就像原來的一樣。有人對此有所瞭解嗎? 在此先感謝。

+0

我根據您的代碼獲得了預期的登錄頁面。 – karthikr

+0

爲什麼不發佈此處返回的HTML?這會有所幫助。 – Kjuly

+0

@karthikr隨着錯誤?這很奇怪 Kjuly http://pastebin.com/dK7RuPex –

回答

0

我想也許你的請求沒有被服務器接受。

首先,您需要檢查前端發送請求的方式,chrome中的開發人員工具可以幫助您。

此外,很多網站都有一些拒絕蜘蛛請求的機制,添加標頭是不夠的。我建議你模擬真實的瀏覽器來做到這一點。你可以嘗試硒。

+0

非常感謝您的建議,但我不能使用第三方的東西,因爲我編碼的東西真的很小規模 –

+0

那麼,如果你不想使用第三方的東西,你很難弄清楚如何過濾請求。他們不能批准某人只寫一個腳本,並使用它登錄Facebook。 – albert

+0

是的,我想了很多,只是搬到機械化。 :d –