为 ibrowse 请求设置代理选项
在 Erlang ibrowse 的请求选项中设置 HTTP 代理主机、端口和可选账号,并检查其结果元组。
对于已经使用 ibrowse 的应用,正向代理应放在请求选项中:
Options = [{proxy_host, "proxy.example"},
{proxy_port, 8080}],
ibrowse:send_req("http://www.example.com/", [], get, [],
Options, 5000).
本例假设 ibrowse 应用已经启动。第六个参数给出请求超时,单位为毫秒。请求 URL 指明目标;proxy_host 和 proxy_port 指明中间人。测试这个公开 HTTP 地址时,请把占位符替换为 HTTP 代理列表 中无需认证的候选。
文档中的认证选项是 proxy_user 和 proxy_password。当代理需要该账号时再添加它们,而不要把目标自身的登录当作可互换的凭据。
同步结果可能是 {ok, Status, Headers, Body},也可能是错误元组。既要检查 Status,也要检查元组的标签。HTTP 重定向或代理的错误响应可能在传输层成功到达,却并不是应用期望的页面。
这段代码遵循文档中的 HTTP 代理选项接口。它不配置 Erlang 的其他 HTTP 客户端,也不建立对每种代理认证方案的支持。把路由和结果处理留在请求旁边,以便调用方代码能说明它尝试了哪个端点、收到了哪个响应。