402 Stimmen

Simuliere ein bestimmtes CURL-Kommando in Postman

Ich benutze Postman, um einige Curl-Anfragen an einen API-Server zu testen. Die API-Entwickler gaben uns den curl-Befehl, aber ich kann ihn nicht von Postman aus senden. Wie mache ich eine solche Anfrage von Postman aus?

curl -X POST "https://api-server.com/API/index.php/member/signin" -d "{"description":"","phone":"","lastname":"","app_version":"2.6.2","firstname":"","password":"my_pass","city":"","apikey":"213","lang":"fr","platform":"1","email":"email@example.com","pseudo":"example"}"

--0xKhTmLbOuNdArY
Content-Disposition: form-data; name="userfile"; filename="profil.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary

—0xKhTmLbOuNdArY—

0voto

akshay_sushir Punkte 1221

Wie oben beschrieben, funktioniert es gut.

Wenn wir Curl-Anfragen mit Autorisierungsdaten beim Import einfügen, setzt Postman automatisch alle Header. Wir übergeben nur die Roh-JSON-Daten im Anfragekörper, wenn nötig, oder laden Bilder über Formulardaten im Körper hoch.

Dies ist nur ein Beispiel. Ihr API sollte eine andere sein (sofern Ihre API dies zulässt).

curl -X POST 'https://verifyUser.abc.com/api/v1/verification' \
    -H 'secret: secret' \
    -H 'email: user@gmail.com' \
    -H 'accept: application/json, text/plain, */*' \
    -H 'authorizationtoken: bearer' \
    -F 'referenceFilePath=Dateipfad hinzufügen' \
    --compressed

0voto

AnandShiva Punkte 642

Ich habe das gelöst, indem ich komplett zur Insomnia-App gewechselt bin.

Öffnen Sie die Insomnia-App und fügen Sie das CURL-Anfrage in den URL-Bereich der Anforderungsseite ein. Dies akzeptiert CURL mit geringfügigen Abweichungen und auch CURL, der aus Chrome mit dem Befehl "Als CURL kopieren" kopiert wurde.

Bildbeschreibung hier eingeben

0voto

Yotic Punkte 152

Zusätzlich zu den anderen, kann ich Ihnen ein Skript in C# geben, das curl(cmd) aus den Chrome Dev-Tools in reguläres curl umwandelt, was es Ihnen ermöglicht, es in Postman zu importieren.

string CmdCUrlToPostman(string input)
{
    var lines = 
        input
        .Split("\r\n")
        .ToList();

    for (int l = 0; l < lines.Count; l++)
    {
        var line = lines[l];

        if (line.EndsWith(" ^"))
            lines[l] = line = line.Substring(0, lines[l].Length - 2);

        if (line.StartsWith("  --data-raw"))
            lines[l] = line.Replace("  --data-raw", "  -d");
        else if (line.StartsWith("  --compressed"))
        {
            lines.RemoveAt(l);
            l--;
        }
        else if (line.StartsWith("  -H"))
            lines[l] = 
                line
                .Replace("^\\", "\\")
                .Replace("^\"", "\"");
    }

    return string.Join('\n', lines);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X