2017-04-10 62 views
0

我試圖通過在python中使用機械化來自動化網頁請求。 當我使用AddHeader的功能添加自定義頁眉像
X-Session= 'abc'

X-Auth='123'
在Python中機械化更改HTTP標頭案例

object=mechanize.Browser() 
object.addheaders=[('X-Session','abc'),('X-Auth','123')] 

它改變那些頭來X-sessionX-auth。 我相信由於服務器無法驗證我。 任何人都可以幫助如何維持案件? 謝謝。

+0

http://stackoverflow.com/qu estions/5258977/are-http-headers-case-sensitive表示http標頭不區分大小寫。是什麼讓你說這可能是由於服務器未驗證您的請求的情況? – shahkalpesh

+0

是的,但由於它是一個自定義頭,服務器端的實現可能不會處理大小寫不敏感。它可能正在檢查原始標題。 –

回答

0

機械化預計兩項元組做爲標題,第一項是頭名,第二個是值,所以你必須做到:

object.addheaders=[('X-Session','abc'), ('X-Auth','123')] 

(兩個元素而不是用4個元素一個元組的兩個元)。


要檢查標頭機械化將查詢發送,你可以這樣做:

print(request.header_items()) 

這應該打印出類似這樣:

[('X-Session','abc'), ('X-Auth','123')] 

文件:http://wwwsearch.sourceforge.net/mechanize/doc.html#adding-headers

+0

嗨,感謝您的回覆,是的,我已經使它像一個元組,如上所述,我會更新代碼是一個錯字。另外當我打印request.header_items()時,它顯示「X-Session」爲「X-session」。 –