如何通过 HTTPoison 将代理 api 令牌设置为 hackney 上的身份验证?
How to set a proxy api token as auth on hackney through HTTPoison?
我在使用 HTTPoison 对 Crawlera 服务进行身份验证时遇到问题。
爬虫的 API 文档说我只需要 API 令牌。
即curl -vx proxy.crawlera.com:8010 -U <API key>: http://httpbin.org/ip
所以,我在 HTTPoison 设置中设置身份验证选项时遇到问题。
我正在尝试这 3 个选项:
HTTPoison.get("url", header, hackney: [:insecure], proxy: 'proxy.crawlera.com:8010', proxy_auth: 'api-token')
错误 -> (FunctionClauseError) no function clause matching in :hackney.do_connect/7
HTTPoison.get("url", header, hackney: [:insecure], proxy: 'proxy.crawlera.com:8010', proxy_auth: {'api-token',''})
错误 -> (ArgumentError) argument error :erlang.bit_size([])
HTTPoison.get("url", header, hackney: [:insecure], proxy: 'api-token:@proxy.crawlera.com:8010')
错误 -> {"X-Crawlera-Error", "bad_proxy_auth"}
如果有人知道如何正确设置参数,我将不胜感激。
proxy
参数应该是主机和端口的元组。
- 您需要为主机和
proxy_auth
的两个元素使用二进制文件而不是字符列表。
以下应该有效:
proxy: {"proxy.crawlera.com", 8010}, proxy_auth: {"api-token", ""}
我在使用 HTTPoison 对 Crawlera 服务进行身份验证时遇到问题。
爬虫的 API 文档说我只需要 API 令牌。
即curl -vx proxy.crawlera.com:8010 -U <API key>: http://httpbin.org/ip
所以,我在 HTTPoison 设置中设置身份验证选项时遇到问题。
我正在尝试这 3 个选项:
HTTPoison.get("url", header, hackney: [:insecure], proxy: 'proxy.crawlera.com:8010', proxy_auth: 'api-token')
错误 -> (FunctionClauseError) no function clause matching in :hackney.do_connect/7
HTTPoison.get("url", header, hackney: [:insecure], proxy: 'proxy.crawlera.com:8010', proxy_auth: {'api-token',''})
错误 -> (ArgumentError) argument error :erlang.bit_size([])
HTTPoison.get("url", header, hackney: [:insecure], proxy: 'api-token:@proxy.crawlera.com:8010')
错误 -> {"X-Crawlera-Error", "bad_proxy_auth"}
如果有人知道如何正确设置参数,我将不胜感激。
proxy
参数应该是主机和端口的元组。- 您需要为主机和
proxy_auth
的两个元素使用二进制文件而不是字符列表。
以下应该有效:
proxy: {"proxy.crawlera.com", 8010}, proxy_auth: {"api-token", ""}