簡體   English   中英

如何使用xpcom更改firefox代理設置

[英]how to change firefox proxy settings using xpcom

我有一個在本地主機(127.0.0.1)上運行的代理服務器,我已經厭倦了必須培訓用戶如何在firefox中切換代理以繞過被阻止的網站的麻煩。
我決定寫一個插件。 我想知道如何使用xpcom告訴firefox使用某個代理
對於http,請使用127.0.0.1端口8080。
互聯網上的例子很少。

謝謝

代理服務器設置存儲在首選項中 您可能想要更改network.proxy.typenetwork.proxy.httpnetwork.proxy.http_port文檔 )。 像這樣:

Components.utils.import("resource://gre/modules/Services.jsm");
Services.prefs.setIntPref("network.proxy.type", 1);
Services.prefs.setCharPref("network.proxy.http", "127.0.0.1");
Services.prefs.setIntPref("network.proxy.http_port", 8080);

如果需要動態確定每個URL的代理,則可以通過nsIProtocolProxyService接口使用功能提供程序-它允許您定義“代理過濾器”。 這樣的事情應該起作用:

var pps = Components.classes["@mozilla.org/network/protocol-proxy-service;1"]
          .getService(Components.interfaces.nsIProtocolProxyService);

// Create the proxy info object in advance to avoid creating one every time
var myProxyInfo = pps.newProxyInfo("http", "127.0.0.1", 8080, 0, -1, 0);

var filter = {
  applyFilter: function(pps, uri, proxy)
  {
    if (uri.spec == ...)
      return myProxyInfo;
    else
      return proxy;
  }
};
pps.registerFilter(filter, 1000);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM