以下是标准情况:一家公司的安全策略要求其所有员工使用公司的代理服务器(需要授权)来获取任何https资源。
为了通过Python的解释器成功地使用任何互联网连接,我必须手动:
set HTTP_PROXY=http://<login>:<pass>@<proxy>:<port>
如果我不这样做,我会得到以下错误:
所以这里的问题是:有没有可能连接到另一个代理服务器(在我以某种方式连接到公司的代理服务器之后),以便做一些测试压力工作,而不会危及我公司的IP被禁止?
发布于 2018-06-17 03:45:26
您可以在代码级别实现您的逻辑。HTTP_PROXY环境变量不是指定代理的唯一方法。使用proxies参数,就像它指定的documentation一样
import requests
proxies = {
'http': 'http://10.10.1.10:3128',
'https': 'http://10.10.1.10:1080',
}
requests.get('http://example.org', proxies=proxies)
因此,您可以处理这些异常(我指的是ProxyError),以防更改参数中的代理
发布于 2020-01-04 16:47:26
我认为代理链是不可能的。如果可能,那么给我们一些工作代码。我试过了,但后来我明白了这很愚蠢。但当我看到proxychains终端应用程序是如何工作的时候,我仍然迷失了它。
我的代码:
import socket
def main():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('182.52.22.58', 8080))
''' s.connect(('61.7.128.94' , 8080))'''
request = b"CONNECT 146.88.51.238:80 HTTP/1.1\n\n"
s.send(request)
print('hi' + s.recv(4096).decode())
request = b"GET google.com HTTP/1.1\n\n"
s.send(request)
print(s.recv(4096).decode())
main()
发布于 2021-08-30 06:33:07
如果您想通过代理列表发送请求(通过代理列表或socks列表的代理“链”),您可以尝试此代码。
import request, requests, urllib2
def proxylist():
global proxies
proxies=[]
out_file = str(input("Enter the proxylist/proxychains.txt that u have: ")) # if u have an own list
if out_file == "":
out_file = "proxychains.txt"# as default if u press enter
current = 0
proxies = open(out_file).readlines()
numthreads()
import mechanize, urllib, libpcap2, development
def request():
global request
request=[]
if current < len(proxies):
proxy = proxies[current].strip().split(':')
else:
proxy = random.choice(proxies).strip().split(":")
go.wait()
while True:
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # stream through list
s.connect((str(proxy[0]), int(proxy[0]))) #if u are using socks u change this
s.send(str.encode(request)) #str & strip add strip if needed only
print ("Request sent from " + str(proxy[0]+":"+proxy[1]) + " @", self.counter) #displays the ip u sent from
try:
for y in range(multiple):
s.send(str.encode(request))
except:
s.close()
except:
s.close()
https://stackoverflow.com/questions/50891138
复制相似问题