有没有办法确认是否使用Python Requests库通过代理实际发送了POST请求?

时间:2019-06-03 12:26:53

标签: python http python-requests http-proxy socks

我有一个SOCKS5代理列表,我可以从中随机选择并使用它发送带有Python库请求的POST请求。问题是我不知道如何确认是否实际使用了代理或它是否使用了我的家庭IP,因为成功发送具有相同代理的GET请求不能保证代理实际上已用于POST。请求(以我的经验)。

我试图在响应对象中找到一个标头,该标头告诉我发件人的IP,但我没有看到它。 我可以使用诸如httpbin之类的在线服务测试GET请求的原始IP,但找不到POST请求的IP。

def register_account(captcha_response, email, password):
    proxies = random_proxy()    # Dict format: {'http': socks5://ip, 'https': socks5://ip}
    try:
        response = requests.post(url=register_url, proxies=proxies, timeout=(5, 20), data={
            'email1': email,
            'onlyOneEmail': 1,
            'password1': password,
            'onlyOnePassword': 1,
            'day': '01',
            'month': '01',
            'year': 1990
            'agree_email': 1,
            'g-recaptcha-response': captcha_response,
            'create-submit': 'create'
        })
        return True
    except:
        print(f'Error: {sys.exc_info()[0]}')
        return False

我愿意接受不涉及请求库的建议。

1 个答案:

答案 0 :(得分:0)

我通过使用此服务测试我的POST请求来解决了这个问题:https://webhook.site 您可以使用此方法检查发件人的IP。该请求也不必具有正确的字段。