Cách xây dựng proxy HTTP trong Python

Làm thế nào để, Proxies, Python, Nov-15-20225 phút đọc

Một người bình thường có thể có một khái niệm mơ hồ về chức năng của một máy chủ proxy. Hầu hết mọi người liên kết máy chủ proxy với việc đạt được quyền riêng tư hoặc bỏ chặn nội dung Netflix từ các quốc gia khác. Nhưng thực tế khá khác vì các máy chủ proxy làm được nhiều hơn và rất quan trọng đối với các doanh nghiệp. Bạn có thể nghĩ về các máy chủ proxy là trung gian

Mục lục

Một người bình thường có thể có một khái niệm mơ hồ về chức năng của một máy chủ proxy. Hầu hết mọi người liên kết máy chủ proxy với việc đạt được quyền riêng tư hoặc bỏ chặn nội dung Netflix từ các quốc gia khác. Nhưng thực tế khá khác vì các máy chủ proxy làm được nhiều hơn và rất quan trọng đối với các doanh nghiệp.

Bạn có thể nghĩ về máy chủ proxy như các cơ chế trung gian giữa máy khách gửi yêu cầu và máy chủ nhận yêu cầu. Thay vào đó, họ có địa chỉ IP riêng được công khai. Bạn có thể sử dụng địa chỉ IP proxy cho nhiều chức năng kinh doanh thiết yếu liên quan đến trải nghiệm và bảo mật của khách hàng. Các lợi ích khác của trong

Tại sao bạn cần sử dụng proxy?

Mọi doanh nghiệp cần biết năm lý do quan trọng của công ty để sử dụng proxy được đề cập dưới đây.

Ẩn danh thực hiện các nhiệm vụ nhạy cảm

Proxy nổi tiếng với khả năng ẩn danh lưu lượng truy cập web. Nhưng hầu hết mọi người không hiểu tầm quan trọng của họ trong ngành kinh doanh. Máy chủ proxy cho phép các nhân viên an ninh và phóng viên tự bảo vệ mình, công ty, nguồn, khách hàng và đối tác.

Bạn cũng có thể sử dụng proxy để bảo vệ sự phát triển và nghiên cứu hiện tại và các hoạt động khác của công ty. Giả sử công ty của bạn sử dụng proxy và gián điệp tiềm năng để theo dõi lưu lượng truy cập web để xác định doanh nghiệp của bạn đang phát triển gì. Trong trường hợp đó, nó sẽ không thể theo dõi nhân viên của bạn một cách dễ dàng.

Cải thiện an ninh doanh nghiệp và thể chế

Bạn biết rằng vi phạm dữ liệu rất tốn kém cả về hình ảnh công khai và tổn thất tiền bạc. Vì vậy, các công ty đang lo lắng về tin tặc. Nhưng proxy có thể giúp bạn vì chúng làm giảm nguy cơ vi phạm dữ liệu. Chúng thêm một lớp bảo mật bổ sung giữa máy chủ của bạn và lưu lượng truy cập bên ngoài. Các máy chủ proxy cũng hoạt động như một bộ đệm khi chúng đối mặt với internet và chuyển tiếp các yêu cầu từ các máy tính bên ngoài mạng.

Nếu tin tặc có quyền truy cập vào máy chủ proxy của bạn, chúng vẫn sẽ gặp khó khăn khi truy cập vào máy chủ chạy phần mềm web nơi dữ liệu được lưu trữ.

Kiểm soát việc sử dụng Internet của nhân viên

Bạn biết rằng vi phạm dữ liệu rất tốn kém cả về hình ảnh công khai và tổn thất tiền bạc. Vì vậy, các công ty đang lo lắng về tin tặc. Nhưng proxy có thể giúp bạn vì chúng làm giảm nguy cơ vi phạm dữ liệu. Chúng thêm một lớp bảo mật bổ sung giữa máy chủ của bạn và lưu lượng truy cập bên ngoài. Các máy chủ proxy cũng hoạt động như một bộ đệm khi chúng đối mặt với internet và chuyển tiếp các yêu cầu từ các máy tính bên ngoài mạng.

Nếu tin tặc có quyền truy cập vào máy chủ proxy của bạn, chúng vẫn sẽ gặp khó khăn khi truy cập vào máy chủ chạy phần mềm web nơi dữ liệu được lưu trữ.

Tiết kiệm băng thông và đạt được tốc độ nhanh hơn

Một số người cho rằng các máy chủ proxy làm chậm tốc độ internet do khối lượng lớn công việc họ thực hiện trong nền. Nhưng điều đó không phải lúc nào cũng đúng. Các máy chủ proxy có thể được sử dụng để tiết kiệm băng thông và tăng tốc độ bằng cách:

  • Bộ nhớ đệm các trang web và tệp được nhiều người dùng truy cập
  • Nén lưu lượng truy cập
  • Tước quảng cáo khỏi trang web

Xây dựng HTTP Proxy bằng Python

Bạn cần làm theo các bước dưới đây để xây dựng proxy HTTP bằng Python.

Nhập thư viện

Bạn cần nhập các thư viện cần thiết được đề cập bên dưới.

  • Một simple_http_server
  • Một SimpleWebSocketServer
  • urllib
từ simple_websocket_server nhập WebSocketServer, WebSocket
simple_http_server nhập khẩu 
Nhập urllib

Mô-đun urllib tìm nạp các trang web mục tiêu. Mặt khác, simple_http_server và SimpleWebSocketServer lắng nghe các yêu cầu đến.

Bạn có thể khởi tạo cổng như sau:

CỔNG = 9097

Nhận yêu cầu

Bạn có thể kế thừa SimpleHTTPRequestHandler để tạo proxy của mình. Bạn có thể định nghĩa một hàm do_GET đó sẽ được gọi cho tất cả các yêu cầu GET.

lớp MyProxy(simple_http_server.Tổng quan phần mềm SimpleHTTPRequestHandler):
   def do_GET (bản thân):
   	url=self.path[1:]
   	Tự .send_response(200)
   	tự .end_headers()
     self.copyfile (urllib.urlopen(url), self.wfile)

Xóa dấu gạch chéo URL

Trong dòng code trên, URL sẽ có dấu gạch chéo (/) ở đầu từ các trình duyệt. Bạn có thể sử dụng dòng mã dưới đây để xóa dấu gạch chéo.

url=self.path[1:]

Gửi tiêu đề

Bạn phải gửi các tiêu đề vì các trình duyệt cần chúng để báo cáo tìm nạp thành công với mã trạng thái HTTP là 200. Bạn có thể sử dụng thư viện urllib để tìm nạp URL.

Chúng tôi đã sử dụng hàm copyfile để ghi URL trở lại trình duyệt trong đoạn mã bên dưới.

tự .send_response(200)
tự .end_headers()
self.copyfile (urllib.urlopen(url), self.wfile)

Sử dụng TCP

Bạn có thể sử dụng chế độ ForkingTCPServer để xử lý ngắt như thể hiện trong mã bên dưới.

httpd = WebSocketServer. ForkingTCPServer(('', PORT), MyProxy)
httpd.serve_forever()

Toàn bộ mã là:

từ simple_websocket_server nhập WebSocketServer, WebSocket
simple_http_server nhập khẩu 
Nhập urllib
CỔNG = 9097
MyProxy (simple_http_server. Tổng quan phần mềm SimpleHTTPRequestHandler):
	def do_GET (bản thân):
	   url=self.path[1:]
	   self.send_response(200)
	   self.end_headers()
    	self.copyfile (urllib.urlopen(url), self.wfile)
httpd = WebSocketServer.ForkingTCPServer(('', PORT), MyProxy)
print ("Đang phục vụ tại"	str(PORT))
httpd.serve_forever()

Sử dụng proxy nào?

Bạn có thể nghĩ rằng có loại proxy duy nhất cung cấp tất cả các lợi ích cho doanh nghiệp, chẳng hạn như:

  • Ngăn chặn vi phạm dữ liệu
  • Đặt giá cạnh tranh
  • Thu thập dữ liệu có giá trị trên phương tiện truyền thông xã hội
  • Xây dựng chiến lược SEO hiệu quả

Trong thực tế, có rất nhiều loại proxy có sẵn và loại proxy để sử dụng phụ thuộc vào yêu cầu hoặc trường hợp sử dụng của bạn.

Dưới đây là các loại proxy phổ biến nhất.

Proxy trung tâm dữ liệu

Proxy trung tâm dữ liệu là proxy phổ biến nhất được sử dụng bởi các doanh nghiệp trên toàn thế giới. Các trung tâm dữ liệu sản xuất và quản lý các proxy này. Bạn có thể sử dụng các proxy này nếu bạn phải cải thiện tính bảo mật của hệ thống vì chúng rẻ và dễ mua. Nhưng một số trang web cấm sử dụng chúng vì chúng liên kết chúng với hoạt động giống như bot.

Proxy dân cư

Các proxy dân cư được liên kết với nơi cư trú thực tế và sử dụng địa chỉ IP của những người thực tế được cung cấp bởi Nhà cung cấp dịch vụ Internet (ISP). Khi bạn sử dụng chúng để kết nối với một trang web, bạn trông giống như một người dùng hàng ngày. Do đó, bạn ít có khả năng bị phát hiện và cấm. Bạn có thể cạo một lượng lớn dữ liệu web bằng proxy dân dụng và đạt được tính ẩn danh và bảo mật được cải thiện.

Kết thúc

Cho đến nay, chúng tôi đã thảo luận rằng bạn nên sử dụng proxy chất lượng cao cho doanh nghiệp của mình. Đó là bởi vì proxy miễn phí có sẵn công khai và được nhiều người sử dụng trong khi giảm tốc độ mạng. Ngoài ra, tin tặc hack địa chỉ IP của những người dùng này để truy cập vào nền tảng của họ. Hơn nữa, có khả năng các trang web cấm các địa chỉ IP proxy miễn phí muốn cạo dữ liệu từ trang web của họ. Ngoài việc sử dụng proxy trung tâm dữ liệu , bạn có thể mua proxy dân dụng để gặt hái gần như tất cả các lợi ích của proxy. Mặc dù chúng tốn kém, nhưng chúng là một khoản đầu tư xứng đáng cho doanh nghiệp của bạn.