Sobes.tech
Junior

Кадом асбобҳоро барои кор бо HTTP истифода бурдед?

sobes.tech AI

Ҷавоб аз AI

  • CURL: API-ро тест кардан аз хатти фармон, хато ёфтани дархостҳо ва ҷавобҳои HTTP.

  • Postman / Insomnia: Барои тестҳои дастӣ ва автоматӣ, сохтани ва нигоҳ доштани дархостҳо, кор бо коллектсияҳо, тавлиди сценарии тест.

  • Swagger UI / Спецификация OpenAPI: Барои фаҳмидани сохтори API, тест кардани нуқтаҳои охирин, тавлиди коди мизоҷ.

  • Mitmproxy: Барои пайгирӣ, тағир додан ва таҳлили трафики HTTP/HTTPS байни мизоҷ ва сервер.

  • Асбобҳои таҳиягари браузер (Chrome DevTools, Firefox Developer Edition): Барои таҳлили дархостҳои шабакавӣ, хато ёфтани барномаҳои пеши, омӯзиши сарлавҳаҳо ва матнҳои дархост/ҷавоб.

  • Requests (китобхона Python): Барои навиштани тестҳои автоматӣ ва скриптҳое, ки дархостҳои HTTP мефиристанд.

    # Истифодаи requests барои фиристодани дархости GET
    import requests
    
    def test_api_status():
        url = "https://example.com/api/status"
        response = requests.get(url)
        assert response.status_code == 200
        assert response.json() == {"status": "ok"}
    
  • JUnit / TestNG (бо китобхонаҳо барои мизоҷони HTTP, масалан RestAssured): Барои навиштани тестҳои E2E ва интегратсионӣ, ки бо API муошират мекунанд.

    // Мисол бо RestAssured дар Java
    import io.restassured.RestAssured;
    import org.junit.jupiter.api.Test;
    
    public class ApiTest {
    
        @Test
        public void testGetUsers() {
            RestAssured.given()
                .when()
                .get("https://reqres.in/api/users?page=2")
                .then()
                .statusCode(200); // Санҷиши коди ҳолати ҷавоб
        }
    }