http 要求標頭回顯

來源:互聯網
上載者:User

標籤:ip   代理   匿名度   

代碼速記:

#encoding: utf-8#author: walker#date: 2017-07-24#summary: 回顯http頭,可用於匿名度檢測import argparsefrom colored import fg, bg, attrfrom http.server import HTTPServer, BaseHTTPRequestHandlerclass EchoHTTPHandler(BaseHTTPRequestHandler):    #將要求標頭封裝成html,便於返回給http用戶端    def text_to_html(self, req_head):        html = ‘<html><head><title>Echo HTTP Header</title></head>‘         html += ‘<body><div>‘        html += ‘<font color="blue">%s - %s - %s</font><br/><br/>‘ % (self.client_address, self.request_version, self.path)        for line in req_head.split(‘\n‘):            line = line.strip()            if line.startswith(‘Via:‘) or line.startswith(‘X-Forwarded-For:‘):                line = ‘<font color="red">%s</font><br/>‘ % line            else:                line = ‘<font color="black">%s</font><br/>‘ % line            html += line        html += ‘</div></body></html>‘        return html    #響應get請求,列印http頭,並返回給http用戶端    def do_GET(self):        print(‘%s - %s - %s‘ % (self.client_address, self.request_version, self.path))        print(type(self.client_address))        print(‘### request headers ###‘)        req_head = str(self.headers)        for line in req_head.split(‘\n‘):            line = line.strip()            if line.startswith(‘Via:‘) or line.startswith(‘X-Forwarded-For:‘):                line = ‘%s%s%s‘ % (fg(‘red‘), line, attr(‘reset‘))            print(line)        self.send_response(200)        self.end_headers()        self.wfile.write(self.text_to_html(req_head).encode(‘utf8‘))            if __name__ == ‘__main__‘:    parser = argparse.ArgumentParser(description=‘Echo HTTP server.‘)    parser.add_argument(‘-a‘, ‘--address‘, help=‘default: 0.0.0.0‘)    parser.add_argument(‘-p‘, ‘--port‘, help=‘default: 8080‘, type=int)    args = parser.parse_args()    server = HTTPServer((args.address or ‘0.0.0.0‘, args.port or 8080), EchoHTTPHandler)    server.serve_forever()


相關閱讀:

1、http.server — HTTP servers

2、colored


*** walker ***


本文出自 “walker的流水賬” 部落格,請務必保留此出處http://walkerqt.blog.51cto.com/1310630/1950505

http 要求標頭回顯

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.