开发常见问题解答
Q:JAVA框架使用代理响应较慢¶
A:检查代理验证方式是否为用户名密码验证,JAVA框架如httpclient
使用用户名密码发送代理请求会发送两次,首次请求信息header不携带Proxy-Authorization
, 当代理服务器返回407
状态码后才会携带用户名密码信息,导致请求耗时增加。JAVA框架使用代理建议使用IP白名单的方式进行认证。
Q:使用隧道代理动态版发现没有更换IP¶
A:出现问题的现象为使用隧道代理动态版请求发现个人中心隧道代理使用统计请求次数很少,与真实请求次数严重不符,并且使用隧道代理动态版出现没有更换IP的情况。原因是隧道发送请求复用了之前建立的连接。需要在header中添加Connection: close
。
目前发现Python
的Scrapy
、C#
的HttpWebRequest
和Java
的OKHttp,HttpClient
可能出现此类现象。
Q:使用不同的代理IP访问目标网站依然出现验证码¶
A:部分热门网站会对客户端IP采取风控机制来屏蔽非人类真实请求,是一种很正常的反爬虫策略。对于这样的网站现在的反爬手段也早已经不是单单靠堆IP数量就可以解决的。建议合理控制请求频率并搜集目标网站反爬规律及解决方法。
Q:使用代理发POST请求失败¶
A:检测您的请求中Content-Length
header信息是否与POST请求中实体长度一致以及HTTP请求报文格式是否规范,建议由发起请求的http客户端自动添加。
Q:使用代理发送邮件报错¶
A:首先检测PROXY_TYPE_HTTP
和PROXY_TYPE_SOCKS5
对应的端口。部分邮件服务器会检测发送邮件的IP以及对邮件内容进行审核。具体原因可以查询邮件服务器供应商提供的错误码。
Q:API提取频率为1s10次不够我使用怎么办¶
A:我们发现少量用户在使用Python Scrapy等框架情况下每次请求都会获取一个代理IP来发送请求,这样不仅会增加耗时请求,如果频率太快还会被API服务器封禁IP。建议用户在本地程序中或者使用Redis维护一个代理IP池,避免API的高频调用。
Q:隧道代理不使用域名直接使用IP可以吗¶
A:非常不建议用户直接使用隧道代理域名解析出来的IP,隧道代理域名对应的服务器是会动态调整的,调整期间用户是无感知的。直接使用IP可能会出现隧道代理无法访问的风险。
更多常见问题解答会持续完善,敬请关注...