2016-03-30 25 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

相关问题