繁体   English   中英

如何在python中禁用请求中的代理socks5?

[英]how to disable proxy socks5 in request in python?

我需要使用socks5发送请求,并在发送此请求后,我在python中发送没有seocks5的请求。

例如:

import socks
import socket
import requests

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "61.8.75.186", 1080)
socket.socket = socks.socksocket

# With Socks5
url = 'http://ip.3300.ir/'
response = requests.get(url, timeout=10)
self.logger.info("Set ip: {}".format(response.content))

# Without Socks5
url = 'http://ip.3300.ir/'
response = requests.get(url, timeout=10)
self.logger.info("Set ip: {}".format(response.content))

如何在python中的一个请求后禁用代理socks5?

当您不想使用代理时,可以将套接字设置回socket.socket

import socks
import socket
import requests

_socket = socket.socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "61.8.75.186", 1080)

# With Socks5
socket.socket = socks.socksocket
url = 'http://ip.3300.ir/'
response = requests.get(url, timeout=10)
print("Set ip: {}".format(response.content))

# Without Socks5
socket.socket = _socket
url = 'http://ip.3300.ir/'
response = requests.get(url, timeout=10)
print("Set ip: {}".format(response.content))


如果您正在使用requests > 2.10.0,则可以在proxies参数中设置SOCKS代理

 import requests # With Socks5 proxies = {'http':'socks5://61.8.75.186:1080', 'https':'socks5://61.8.75.186:1080'} url = 'http://ip.3300.ir/' response = requests.get(url, timeout=10, proxies=proxies) print("Set ip: {}".format(response.content)) # Without Socks5 url = 'http://ip.3300.ir/' response = requests.get(url, timeout=10) print("Set ip: {}".format(response.content)) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM