将 HTTPotion 的代理选项传递给 ibrowse
使用预期的 Elixir 与 Erlang 值类型配置现有 HTTPotion 客户端的 ibrowse 传输。
对于现有的 HTTPotion 应用,把端点传给它的 ibrowse 传输:
response = HTTPotion.get(
"http://www.example.com/",
ibrowse: [proxy_host: ~c"proxy.example", proxy_port: 8080]
)
~c 字面量会为代理主机名提供 Erlang charlist。端口是整数。HTTP 代理列表中的 HTTP 端点可以为所示的获准公开请求填写这两个字段,而无需添加代理账户。HTTPotion 的 README 指出,ibrowse 选项通常使用 charlist,而不是普通的 Elixir 二进制字符串。
外层 URL 仍然是目标地址。嵌套的 ibrowse 关键字列表是传输选项的交接,它不是 HTTP 头,也不是查询参数。
按应用的常规流程处理 HTTPotion 返回的 Response 或 ErrorResponse。不带感叹号的方法可能返回错误对象,而 get! 在操作失败时会抛出异常。
这是 HTTPotion 的维护参考,其维护者已将其标记为弃用。HTTPoison 是另一个库,具有不同的传输接口;不能仅因为名称相似就认为它的 proxy 参数是同一个选项。