models.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:mugen 作者: PeterDing 项目源码 文件源码
def make_request_headers(self, method, host, headers, cookies):
        _headers = []

        if not headers.get('host'):
            _headers.append('Host: ' + host + (':443' if method.lower() == 'connect' else ''))

        if method.lower() == 'post' and not self.data:
            _headers.append('Content-Length: 0')

        if self.data:
            data = self.make_request_data(self.data)
            _headers.append('Content-Length: {}'.format(len(data.encode('utf-8'))))
            if isinstance(self.data, dict) and not headers.get('Content-Type'):
                _headers.append('Content-Type: application/x-www-form-urlencoded')

        # add cookies
        if cookies:
            if isinstance(cookies, (DictCookie, SimpleCookie)):
                _cookies = []
                for k in cookies:
                    # TODO, path ?
                    if isinstance(cookies[k], Morsel):
                        v = cookies[k].value
                    else:
                        v = cookies[k]
                    _cookies.append('{}={};'.format(k, v))

                cookie = 'Cookie: ' + ' '.join(_cookies)
                _headers.append(cookie)
            elif isinstance(cookies, dict):
                _cookies = []
                for k, v in cookies.items():
                    _cookies.append('{}={};'.format(k, v))

                cookie = 'Cookie: ' + ' '.join(_cookies)
                _headers.append(cookie)

        # make headers
        for k, v in headers.items():
            _headers.append(k + ': ' + v)
        return '\r\n'.join(_headers)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号