通过tor发出请求,requests.exceptions.ConnectionError Errno 61:连接被拒绝

时间:2018-12-06 21:56:22

标签: python python-3.x python-requests tor

我试图在连接到tor的同时向whatsmyip网站提出一个简单的请求,但是无论我如何尝试,我仍然会遇到此错误:

requests.exceptions.ConnectionError: SOCKSHTTPSConnectionPool(host='httpbin.org', port=443): Max retries exceeded with url: /get (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSHTTPSConnection object at 0x1018a7438>: Failed to establish a new connection: [Errno 61] Connection refused'))

我在这里查看了很多类似问题的帖子,但似乎找不到有效的修复程序。

这是当前代码,但是我已经尝试了多种方法,并且每次都遇到相同的错误:

import requests

def main():
    proxies = {
            'http': 'socks5h://127.0.0.1:9050',
            'https': 'socks5h://127.0.0.1:9050'
    }
    r = requests.get('https://httpbin.org/get', proxies=proxies)
    print(r.text)


if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

错误提示public class Food implements Parcelable { public int id; public String name; public String category; public String date; public int vegan; public int vegetarian; public String price; public String uuid; public float rating; public String mimgId; public Food(int id, String name, String category, int vegan, int vegetarian, String price, String uuid, float rating, String mimgId){ this.id = id; this.name = name; this.category = category; this.date = date; this.vegan = vegan; this.vegetarian = vegetarian; this.price = price; this.uuid = uuid; this.rating = rating; this.mimgId = mimgId; } protected Food(Parcel in) { id = in.readInt(); name = in.readString(); category = in.readString(); date = in.readString(); vegan = in.readInt(); vegetarian = in.readInt(); price = in.readString(); uuid = in.readString(); rating = in.readFloat(); mimgId = in.readString(); } public static final Creator<Food> CREATOR = new Creator<Food>() { @Override public Food createFromParcel(Parcel in) { return new Food(in); } @Override public Food[] newArray(int size) { return new Food[size]; } }; public int getId() { return id; } public String getName() { if(name != null) { name = name.replaceAll(System.getProperty("line.separator"), ("")); } return name; } public String getDate() { return date; } public int isVegan() { return vegan; } public int isVegetarian() { return vegetarian; } public String getPrice() { return price; } public String getUuid() { return uuid; } public float getRating(){return rating;} public String getmimgId() { return mimgId; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(price); dest.writeString(name); dest.writeString(((Float)rating).toString()); dest.writeString(mimgId); } } ,因此可能是来自tor出口节点ip的请求过多。尝试使用新的Tor身份执行此操作,然后查看是否可行。

如果您愿意,可以捕获该异常并将其置于循环中,以尝试每隔数秒,但这可能导致该IP地址被服务器拒绝的时间更长。