2016-03-30 24 views

回答

3

有沒有爲它的直接支持,但它應該是可能的擴展,使其能夠:

from mercurial import url, extensions 

def wrap_opener(orig, ui, authinfo=None): 
    result = orig(ui, authinfo) 
    agent = ui.config("http", "useragent") 
    if agent: 
    ah = result.addheaders 
    for i in xrange(len(ah)): 
     if ah[i][0] == "User-agent": 
     ah[i] = ("User-agent", agent) 
    return result 

def uisetup(ui): 
    extensions.wrapfunction(url, "opener", wrap_opener) 

這使您可以設置用戶代理在~/.hgrc.hg/hrc有:

[http] 
useragent = "..." 

警告:我只測試了擴展不會破壞Mercurial,並且opener對象被適當地修改,但我沒有實際驗證是否正在通過網絡發送正確的User-agent頭。

+0

完美工作。感謝您編寫它。用戶代理標題已按指定設置。 – MidnightJava

相關問題