多线程-http请求
admin
2023-07-30 20:53:49
0
  • 线程基类

    import threading
    class base_thread(threading.Thread):
      def __init__(self, func):
          threading.Thread.__init__(self)
          self.func = func
          #print(type(self.func))
      def run(self):
          self.func
  • http请求

#-*- coding: utf-8 -*-
import requests
import json
class ConfigHttp:
    def __init__(self, host, port,headers):
        self.host = host
        self.port = port
        self.headers = headers
    # 封装HTTP GET请求方法
    def get(self, url, params):
        # params = urllib.parse.urlencode(params)
        url = \"http://\"+self.host+\":\"+self.port+url
        try:
            r = requests.get(url, params=params, headers=self.headers)
            r.encoding = \'UTF-8\'
            return r.text
        except Exception:
            print(\'no json data returned\')
            return {}
    # 封装HTTP POST请求方法,支持上传图片
    def post(self, url, data, files=None):
        data = eval(data)
        url = \'http://\' + self.host + \':\' + str(self.port)+url
        r =requests.post(url, files=files, data=data)
        print(data)
        json_response = r.text
        return json_response
  • 简单调用,当然最好的方式是再次封装一层
    import ConfigHttp    
    def sample_request():
      headers= {\'Accept\':\'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\',\'User-Agent\':\'Mozilla/5.0 (Windows NT 6.1; rv:29.0) Gecko/20100101 Firefox/29.0\'}
      cf = ConfigHttp(host=\"www.xxx.com\",port=80,headers=headers)
      #cf.get(url=\"/api/getuserinfo\",{\"id\":2})
      cf.get(url=\"/api/getuserinfo?id=2\")
  • 多线程调用
def multi_thread():
    count = 100
    threads = []
    for i in range(0, 100):
        threads.append(base_thread(sample_request()))
    for j in range(0, 100):
        threads[j].start()
    for k in range(0, 100):
        threads[k].join()

上一篇:Django学习笔记

下一篇:Scrapy的架构初探

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...