Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python为同一url发送多个get请求_Python_Asynchronous_Https_Request - Fatal编程技术网

使用python为同一url发送多个get请求

使用python为同一url发送多个get请求,python,asynchronous,https,request,Python,Asynchronous,Https,Request,我必须发送几千个相同url的get请求。 当我使用for循环执行此操作时,时间相当长,因此我希望找到更好/更快的/̶s̶t̶r̶o̶n̶g̶e̶r̶解决方案。 你有什么想法吗 url = 'https://site.ru:port/api/v2/getRequest' for index, row in tqdm.tqdm(data.iterrows(), total=data.shape[0]): params = { 'param1_key' :

我必须发送几千个相同url的get请求。 当我使用for循环执行此操作时,时间相当长,因此我希望找到更好/更快的/̶s̶t̶r̶o̶n̶g̶e̶r̶解决方案。 你有什么想法吗

url = 'https://site.ru:port/api/v2/getRequest'

for index, row in tqdm.tqdm(data.iterrows(), total=data.shape[0]):

        params = {

            'param1_key' : row['param1_value'],
            'param2_key' : row['param2_value'}

        response = requests.get(api_endpoint, params, headers={'apikey': api_key}, timeout=30)

在for循环中执行此操作时,每次都必须等待响应。所以为了让它更好/更快/更强。。。 与或异步执行


(另请参见-虽然它非常过时,但它还是会让您指向grequests)

当您在for循环中执行此操作时,每次都必须等待响应。所以为了让它更好/更快/更强。。。 与或异步执行


(另请参阅-虽然它很过时,但它还是会让你找到grequests)

没有更多信息,很难说
ItErrors
if knows不能太快,但我敢打赌最耗时的部分是等待服务器的响应


在这种情况下,
multiprocessing.dummy.Pool
是一个方便的工具,可以启动多个并发请求,而无需等待每个请求在启动下一个请求之前终止。但是要小心,向单个服务器发送太多请求可能被视为攻击…

没有更多信息很难说
ItErrors
if knows不能太快,但我敢打赌最耗时的部分是等待服务器的响应


在这种情况下,
multiprocessing.dummy.Pool
是一个方便的工具,可以启动多个并发请求,而无需等待每个请求在启动下一个请求之前终止。但是要小心,向单个服务器发送太多请求可能会被视为攻击…

@Fabor,非常感谢,grequest可以工作,但我很困惑,因为我找不到如何在那里传递api密钥(grequest.get)。你知道吗?@G_V grequests会将所有Kwarg发送到请求,所以你应该可以用同样的方法<代码>grequests.get(“http://localhost:8075,params={“p1”:5},headers={'apikey':“my_key”})。send()对我有效。它产生了这个HTTP请求:
GET/?p1=5http/1.1主机:localhost:8075用户代理:python请求/2.23.0接受编码:gzip,deflate接受:/*连接:keep-alive-apikey:my_-key
@Fabor,非常感谢,grequest可以工作,但我很困惑,因为我找不到如何在那里传递api密钥(grequest.GET)。你知道吗?@G_V grequests会将所有Kwarg发送到请求,所以你应该可以用同样的方法<代码>grequests.get(“http://localhost:8075,params={“p1”:5},headers={'apikey':“my_key”})。send()对我有效。它导致此HTTP请求:
GET/?p1=5 HTTP/1.1主机:localhost:8075用户代理:python请求/2.23.0接受编码:gzip,deflate接受:*/*连接:保持活动apikey:my_key