首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lynx代理授权

lynx代理授权
EN

Unix & Linux用户
提问于 2019-02-20 11:39:30
回答 1查看 1.1K关注 0票数 0

我系统上的许多脚本都依赖于lynx,而这反过来又不能通过我的代理。更具体地说,lynx成功地获取了除用户id和密码字段之外的全局代理设置,建议在命令行上使用-pauth

代码语言:javascript
复制
lynx -pauth=proxyuserid:proxypass

我很难这么做,因为林克斯是间接的。但是,我应该如何在全球范围内应用这些设置,用于所有lynx调用?一个配置文件--找不到任何关于代理授权的信息。lynx同名的bash包装器使用-pauth调用实际的lynx --不知怎么的,我无法使它工作。

<#>更新。我有完全描述代理的环境变量,例如Lynx正确读取代理服务器和端口的http_proxy=http://userid:pass@proxyserver:port,但由于某种原因没有正确读取用户/pass字段(例如,与wget不同)。

因此,我现在使用一个lynx包装脚本,如下所示:

代码语言:javascript
复制
envproxy=${http_proxy%@*}
/usr/bin/lynx -pauth=${envproxy:7} "$@"
EN

回答 1

Unix & Linux用户

发布于 2019-02-20 12:17:55

如果脚本/程序在没有指定路径的情况下调用lynx /程序,则用包装器脚本替换lynx将有效,因此系统将在变量PATH中列出的目录中搜索它。

您必须找出lynx的位置,例如输入type lynx。我想可能是/usr/bin/lynx

调用lynx的脚本/程序的变量D7必须在lynx (例如/usr/bin)的位置之前有一个不同的目录(例如/usr/local/bin)。如果不是这种情况,您可能必须扩展PATH

示例:

假设您的PATH设置为

代码语言:javascript
复制
PATH=/usr/bin:/bin:/sbin:/usr/bin/X11

你可以用

代码语言:javascript
复制
PATH="/usr/local/bin:$PATH"

在一个为脚本/程序设置PATH的启动脚本中。如何才能做到这一点取决于如何调用这些脚本/程序。

然后,您可以创建这样一个shell脚本/usr/local/bin/lynx

代码语言:javascript
复制
#! /bin/sh

# Here you could do what is needed to get the user name and password for the
# proxy authentication and use these instead of hard coded values.

/usr/bin/lynx -pauth=proxyuserid:proxypass "$@"

当一个脚本/程序想要执行lynx foo bar时,它将在找到/usr/bin/lynx中的“真正的lynx”之前找到您的脚本/usr/local/bin/lynx

然后,脚本将调用/usr/bin/lynx -pauth=proxyuserid:proxypass "foo" "bar"

当然,您可以使用不同的位置而不是/usr/local/bin

如果脚本/程序使用指定路径(如/usr/bin/lynx foo bar )来执行lynx,则此包装脚本解决方案将无法工作。在这种情况下,您可以将/usr/bin/lynx重命名为/usr/bin/lynx.real,并创建一个以相同方式调用/usr/bin/lynx.real的脚本/usr/bin/lynx

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/501832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档