1. git clone 下来源码
git clone https://github.com/libproxy/libproxy.git
2. 进入目录libproxy
cd libproxy
3. Build steps - How to compile libproxy-Ubuntu
3.1 安装依赖项
sudo apt install git meson libglib2.0-dev libcurl4-openssl-dev cmake duktape-dev libgirepository1.0-dev valac
3.2 Build
meson setup build
3.3 Compilation
ninja -C build
3.4 Installation
ninja -C build install
3.5 放置libproxy的GObject Introspection 文件(.gir和.typelib文件 )
- 把/home/lixiaoyu/libproxy/build/src/libproxy下的*.gir放到/usr/share/gir-0
- 把/home/lixiaoyu/libproxy/build/src/libproxy下的*.typelib放到/usr/lib/girepository-1.0
这样就安装成功可以使用了
3.6 遇到的问题
Run-time dependency gsettings-desktop-schemas found: NO (tried pkgconfig)
meson.build:120:27: ERROR: Dependency "gsettings-desktop-schemas" not found, tried pkgconfig
但是你确实已经安装了,此时你需要执行下面这条命令即可
sudo apt install gsettings-desktop-schemas-dev
4. 使用libproxy
import gi
gi.require_version('Libproxy', '1.0')
from gi.repository import Libproxy
import requests
url = 'http://github.com/libproxy/libproxy'
pf = Libproxy.ProxyFactory()
proxies = pf.get_proxies(url)
success = False
for proxy in proxies:
print(proxy)
response = requests.get(url) #, proxies=proxies)
print(response)
if response.status_code == 200:
success = True
break
if success:
print(f"The requested URL {url} could be retrieved using the current setup!")
else:
print(f"The requested URL {url} could *NOT* be retrieved using the current setup")
我在系统设置代理之后: