- vừa được xem lúc

Charles Rewrite: Đơn giản hóa quá trình chỉnh sửa và thay đổi yêu cầu HTTP

0 0 9

Người đăng: Nguyễn Ngọc Bạn

Theo Viblo Asia

1. Giới thiệu Rewrite

Charles là một trình gỡ lỗi HTTP proxy và ghi lại lưu lượng mạng. Nó cho phép bạn xem, gỡ lỗi và thay đổi các yêu cầu và phản hồi HTTP giữa máy tính và máy chủ web. Với tính năng Rewrite, Charles cung cấp một cách tiện lợi để chỉnh sửa yêu cầu HTTP mà không cần thay đổi mã nguồn gốc.

Vậy Rewrite là gì và tại sao nó hữu ích? Đơn giản, Rewrite cho phép bạn thay đổi nội dung của yêu cầu HTTP mà không ảnh hưởng đến mã nguồn hoặc cấu trúc của ứng dụng web. Điều này rất hữu ích khi bạn muốn thử nghiệm các kịch bản khác nhau, sửa lỗi hoặc điều chỉnh yêu cầu để đảm bảo tính ổn định và chính xác của ứng dụng.

Với Rewrite của Charles, bạn có thể thực hiện nhiều tác vụ, bao gồm:

  • Thay đổi phương thức HTTP: Bạn có thể thay đổi phương thức của yêu cầu từ GET sang POST hoặc ngược lại, mở rộng khả năng kiểm thử và sửa lỗi trong ứng dụng web.
  • Sửa đổi tham số và giá trị: Bạn có thể thay đổi các tham số và giá trị trong yêu cầu, giúp bạn kiểm tra ứng dụng với các kịch bản và giá trị khác nhau.
  • Thay đổi Header: Rewrite cho phép bạn thêm, sửa đổi hoặc xóa các Header trong yêu cầu và phản hồi, giúp bạn điều chỉnh các yêu cầu và phản hồi mạng theo ý muốn.
  • Chặn và chuyển hướng yêu cầu: Bạn có thể chặn hoặc chuyển hướng yêu cầu HTTP để kiểm tra và phân tích tác động của chúng đến ứng dụng.
  • Quan trọng nhất, Rewrite của Charles giúp bạn tiết kiệm thời gian và nỗ lực trong quá trình chỉnh sửa và thay đổi yêu cầu HTTP. Bạn không cần phải thay đổi mã nguồn hay triển khai lại ứng dụng. Thay vào đó, chỉ cần sử dụng Charles và Rewrite, bạn có thể thực hiện các thay đổi một cách nhanh chóng và dễ dàng.

Với tính năng Rewrite của Charles, bạn sẽ có sự linh hoạt và quyền kiểm soát đáng kể trong việc chỉnh sửa yêu cầu HTTP. Điều này giúp bạn nhanh chóng tìm ra và sửa lỗi, thử nghiệm các tình huống khác nhau và tăng cường tính tin cậycủa ứng dụng web của bạn.

2. Cách sử dụng

Để sử dụng Tool Rewrite bạn cần chọn Tools -> Rewrite...

Sau đó bật Enable Rewrite

Hãy xem thử cách sử dụng qua các ví dụ dưới đây nhé.

2.1. Thay đổi tham số gửi lên

Trên điện thoại bạn bật Safari và load link sau: https://gorest.co.in/public/v2/users?gender=male Link này sẽ trả về danh sách User có giới tính là "male". Đây sẽ là kết quả thu được trên Charles:

Giờ hãy thử dùng Charles sửa tham số male thành female nhé.

Bước 1: Vào Rewrite Settings, chọn thêm mới, rồi điền tên cho rule vừa tạo

Bước 2: Thêm điều kiện chỉ định API cần Rewrite

Ở đây bạn cần phải chỉ định chính xác API mà mình muốn sửa.

Trong ví dụ này thì cần điền

Bước 3: Chỉ định thông tin cần thay đổi

Chọn Add ở mục bên dưới

Sau đó điền thông tin cần chỉnh sửa:

Trong ví dụ này ta cần sửa Param nên sẽ chọn

  • Type: Modify Query Param
  • Match: Điền Name là gender
  • Replace: Điền value là female

Sau khi điền xong bạn sẽ được kết quả như hình sau:

Done, hay quay lại điện thoại và reload lại link https://gorest.co.in/public/v2/users?gender=male và cùng xem kết quả:

Như bạn thấy ở trên, dù điện thoại vẫn gửi gender=male nhưng request thực sự gửi lên server đã được thay bằng gender=female. Bạn có thể thấy kết quả hiển thị trên màn hình điện thoại cũng đã thay đổi theo.

2.2. Thay đổi kết quả trả về

Ở đây chúng ta có thể tận dụng chính Rule ở trên nhé. Ở bước chỉ định thông tin cần thay đổi thay vì sửa param chúng ta sẽ đi sửa response:

Chúng ta thử sửa như sau:

  • Type: Body
  • Where: chọn Response
  • Replace: value điền NOT FOUND (phá app 1 tý ✌️)

Sau đó chọn OK để lưu và cho điện thoại reload lại cùng xem kết quả nào:

BÙM, cái json lúc nãy đã biến mất, giờ nó thay bằng 1 chữ NOT FOUND

Vậy là bạn đã có thể chỉnh sửa thông tin của API rồi đó. Ngoài 2 ví dụ trên bạn hoàn toàn có thể tự vọc thay đổi các thông tin khác của API nhé.

2.3. Export / Import Rewrite settings

Có thể nhiều bạn sẽ thấy việc setup như trên rất là cực khổ và dễ sai lầm. Để giảm hỗ trợ điều đó Charles cho phép bạn Export / Import setting đề có thể chuyển cài đặt sang máy khác được. Hãy tận dụng nó.

Kết luận

Hãy thử sử dụng công cụ Rewrite của Charles ngay hôm nay và trải nghiệm sự tiện lợi và hiệu quả của nó trong quá trình phát triển và gỡ lỗi ứng dụng cũng như trong kiểm thử API Testing của bạn

Bình luận

Bài viết tương tự

- vừa được xem lúc

Flutter - GetX - Using GetConnect to handle API request (Part 4)

Giới thiệu. Xin chào các bạn, lại là mình với series về GetX và Flutter.

0 0 359

- vừa được xem lúc

API vs WebSockets vs WebHooks: What to Choose?

. Khi xây dựng bất kì một ứng dụng nào, chúng ta đều cần phải có một cơ chế đáng tin cậy để giao tiếp giữa các thành phần của nó. Đây là khi APIs, WebSockets và WebHooks được ứng dụng vào.

0 0 102

- vừa được xem lúc

Sử dụng Fast JSON API serialization trong Ruby on Rails

Ở bài viết này chúng ta sẽ thử tạo 1 project API sử dụng gem fast_jsonapi cho serializer. Đầu tiên là tạo một project API mới. $ rails new rails-jsonapi --database=postgresql --skip-action-mailbox --skip-action-text --skip-spring -T --skip-turbolinks --api. .

0 0 132

- vừa được xem lúc

Test thử ba loại API chụp màn hình Windows

Hiện tại, Windows cung cấp khoảng ba cách để chụp màn hình. Thế thì cái nào là nhanh nhất? Tôi muốn test thử từng cái.

0 0 71

- vừa được xem lúc

Ngừng sử dụng REST cho API — GraphQL là cách tốt hơn

Mở đầu. REST đã được nhiều developers sử dụng để gửi dữ liệu qua HTTP trong khi GraphQL thường được trình bày như một công nghệ thay thế các API REST.

0 0 99

- vừa được xem lúc

Quản lý và sử dụng API trong Nuxt bằng cách sử dụng Repository Pattern

Mở đầu năm mới, à nhầm, mở đầu bài viết. Cái tên NuxtJS chắc hẳn cũng không còn xa lạ gì với những bạn yêu thích VueJS nữa, đương nhiên mình cũng là một chàng trai dành tình yêu to lớn cho frameworks này.

0 0 226