有没有办法配置 Mercurial 在 user-agent header 中发送的内容?
Is there a way to configure what mercurial sends in the user-agent header?
使用 git,您可以 ,但我不知道 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 并且开启者 object 被适当修改,我实际上没有验证是否发送了正确的 User-agent header跨网络。
使用 git,您可以
没有直接支持它,但应该可以通过扩展启用它:
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 并且开启者 object 被适当修改,我实际上没有验证是否发送了正确的 User-agent header跨网络。