连接Tor时为什么不提供cookie?

时间:2016-04-18 06:56:26

标签: python http cookies python-requests tor

下面的代码应该从Instagram.com获取一个“csrf令牌”cookie,但是在通过Tor运行程序时我收到错误消息(在此代码的底部注释掉)告诉我“csrf”cookie不是没提供。如果s.proxies被注释掉,程序运行正常而没有错误,Instagram.com提供了一个“csrf令牌”cookie。关于为什么Instagram在连接Tor时没有提供这个cookie的想法,以及关于如何让它提供所述cookie的想法?

import requesocks
import requests

s = requesocks.session()
# Tor uses the 9050 port as the default socks port
s.proxies = {'http':  'socks5://127.0.0.1:9050',
            'https': 'socks5://127.0.0.1:9050'}
url = 'https://www.instagram.com/accounts/web_create_ajax/'
s.get(url)
tok = s.cookies['csrftoken']

#Outputs: 
#Traceback (most recent call last):
#File "tor.py", line 24, in <module>
#tok = s.cookies['csrftoken']
#KeyError: 'csrftoken

1 个答案:

答案 0 :(得分:0)

Instagram服务将请求视为源自127.0.0.1,因此不包括csrf cookie