在Tor上使用Python进行get api请求

问题描述

我正在尝试通过tor会话加载JSON数据。 URL_1可以正常工作,但URL_2不能工作(示例I)。我不知道为什么 这是我得到的错误类型:

  • IP:

我可以在不进行tor会话的情况下很好地恢复Json api数据(示例II),但是一旦我为URL_2引入了request.Session()函数,它将不再起作用。

示例I

# open Tor browser before
import requests
from stem.control import Controller
from stem import Signal
import json

def get_tor_session():
    # initialize a requests Session
    session = requests.Session()
    # setting the proxy of both http & https to the localhost:9050 
    # this requires a running Tor service in your machine and listening on port 9050 (by default)
    session.proxies = {"http": "socks5://localhost:9150","https": "socks5://localhost:9150"}
    return session

#url_1 = "https://api.cryptowat.ch/markets/kraken/eurusd/ohlc"
url_2 = 'https://api.1inch.exchange/v1.1/quote?fromTokenSymbol=USDT&toTokenSymbol=KAI&amount=1000000'

s = get_tor_session()
ip = s.get(url_2).text
#ipJ = json.loads(ip)
print(ip)

示例II

import json
url_1 = 'https://api.cryptowat.ch/markets/kraken/eurusd/ohlc'
url_2 = 'https://api.1inch.exchange/v1.1/quote?fromTokenSymbol=USDT&toTokenSymbol=KAI&amount=1000000'
rA = requests.get(url_2) 
jsA = json.loads(rA.content) 
print(jsA)

我已经尝试在请求中添加标头,但效果不佳。

感谢您的帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...