1
使用git,你可以configure the http.useragent
variable,但我不知道类似的设置在mercurial中。任何人都知道如何做到这一点?有没有办法配置mercurial在用户代理头中发送的内容?
使用git,你可以configure the http.useragent
variable,但我不知道类似的设置在mercurial中。任何人都知道如何做到这一点?有没有办法配置mercurial在用户代理头中发送的内容?
有没有为它的直接支持,但它应该是可能的扩展,使其能够:
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头。
完美工作。感谢您编写它。用户代理标题已按指定设置。 – MidnightJava
afaik答案是'不'。它被设置为使用的mercurial版本。 – planetmaker