PostManで特定のCURLをシミュレートする


153

Postmanを使用して、APIサーバーへのCurlリクエストをテストしています。API開発者からcurlコマンドが提供されましたが、Postmanから送信できません。郵便配達人からそのような要求をする方法は?

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

<ffd8ffe0 00104a46 49460001 01010048 ... a00fffd9>

—0xKhTmLbOuNdArY—

回答:


422

より簡単な方法は次のとおりです。

  1. ポストマンを開く
  2. 左上の「インポート」タブをクリックします。
  3. Raw Textオプションを選択し、cURLコマンドを貼り付けます。
  4. インポートを押すと、Postmanビルダーでコマンドが実行されます!
  5. [送信]をクリックしてコマンドを投稿します

お役に立てれば!


4
この投稿を見るまで、あなたがこれができるとは思いもしませんでした。ありがとう!
austinthedeveloper

3
これはまさに私が欲しかったものです。ありがとう!
ジョシュアダンス

3
私はそれを試しました、そしてそれは部分的に働きました。これは私のcurlリクエストです。curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d ' {"customer_id":"812122", "event":"add_to_cart", "email": "abc@def.com", }' -u 9f4d7f5445e7: https://api.myapp.com/api/event 本文をインポートした後、ヘッダーとURLも正しくインポートされました。-u 9f4d7f5445e7: https://api.myapp.com/api/v1/eventcurlリクエストに含まれるAPIキー9f4d7f5445e7のみがインポートされなかったか、Postmanでスキップされた可能性があります。それを解決する方法はありますか?
Rito

1
私は自分でcurl cmdをインポートすることを理解しています。しかし、インポートされたカールのあるページがどこにあるかを見つけるのにしばらくかかりました。ファイル/ cmdをインポートしても何も起こらないようです。次に、右上の「保存」ボタンの下にある「コード」ボタンをクリックする必要があります。次に、カールが読み込まれているかどうかを確認します。
zhihong

このアプローチでは、コード化した認証情報を利用していなかったため、マウスとドロップダウンを使用した実際のリクエストに加えて、[認証]> [基本認証]を使用して手動で認証情報を追加する必要がありました。ソフトウェアの動作はクレデンシャルを受け入れて利用したように見えるので、言及する価値があると思います。取得できるのは、「クレデンシャルを提供してください」ではなく「有効なクレデンシャルを提供してください」だけです。
オリステッドマン

12
In addition to the answer
1. Open POSTMAN
2. Click on "import" tab on the upper left side.
3. Select the Raw Text option and paste your cURL command.
4. Hit import and you will have the command in your Postman builder!
5. If -u admin:admin are not imported, just go to the Authorization 
   tab, select Basic Auth -> enter the user name eg admin and password eg admin.
This will automatically generate Authorization header based on Base64 encoder

5

1)https://api-server.com/API/index.php/member/signinURL入力ボックスに入力POSTして、ドロップダウンから選択します

2)[ヘッダー]タブで、次のように入力します。

Content-Type:image / jpeg

Content-Transfer-Encoding:バイナリ

3)[ボディ]タブで、rawラジオボタンを選択して次のように記述します。

{"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"}

form-dataラジオボタンを選択して次のように書きます:

key =名前値= userfile選択Text key =ファイル名Fileprofil.jpgを選択してアップロード


5

Onkaar Singhが述べたアプローチを試しましたが、

  1. ポストマンを開く
  2. 左上の「インポート」タブをクリックします。
  3. Raw Textオプションを選択し、cURLコマンドを貼り付けます。
  4. インポートを押すと、Postmanビルダーでコマンドが実行されます!

しかし問題はそれが承認を必要とするApisのために働かなかったことです。

これは私のカールのリクエストでした:

curl -v -H "Accept: application/json" -H "Content-type:
application/json" -X POST -d ' 
{"customer_id":"812122", "event":"add_to_cart", "email": "abc@def.com", }' 
-u 9f4d7f5445e7: https://api.myapp.com/api/event

本文をインポートした後、正しくインポートされ、ヘッダーとURLもインポートされました。APIキー9f4d7f5445e7のみが

-u 9f4d7f5445e7: https://api.myapp.com/api/v1/event 

curlリクエストではインポートされませんでした。

私がそれを解決した方法は、基本的に-uが承認に使用されることです。したがって、Postmanで使用する場合は、APIキー(9f4d7f5445e7この場合)を取得してBase64エンコードを実行する必要があります。エンコードされると、値を返しますOWY0ZDdmNTQ0NWU3。次に、新しいヘッダーを追加しAuthorizationますBasic OWY0ZDdmNTQ0NWU3。キー名は、キー値はになります。その変更を行った後、リクエストはうまくいきました。

利用可能なオンラインBase64エンコーダーがあり、私が使用したものはhttp://www.url-encode-decode.com/base64-encode-decode/です

それが役に立てば幸い!!!


郵便配達の許可]タブで、単に基本認証を選択し、それは、Base64ヘッダーを生成します
electricalbah

2

cURLをコピーするときはいつでも、-compressedが含まれています。インポート中に削除します->未加工テキストの貼り付け->インポートをクリックします。また、cURLのインポート中にpostmanで構文エラーが発生した場合にも問題を解決します。

一般に、人々がCharlesなどのプロキシツールからcURLをコピーすると、それが起こります。


0

上記の複数の回答で述べたように、POSTMANにcURLを直接インポートできます。ただし、URLが承認されている(または何らかの理由で機能していない)場合は、すべてのデータポイントをJSONとして手動でpostman本文に追加できます。cURLからAPI URLを取得します。

Authorizationパートの場合-Authorizationキーとbase 64エンコードされた文字列を値として追加するだけです。

例:

curl -u rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a \ https://api.razorpay.com/v1/orders -X POST \ --data "amount=50000" \ --data "currency=INR" \ --data "receipt=Receipt #20" \ --data "payment_capture=1" https://api.razorpay.com/v1/orders

{ "amount": "5000", "currency": "INR", "receipt": "Receipt #20", "payment_capture": "1" }

ヘッダー: Authorization:Basic cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J 「cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS *** U056V25J」は、「rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a」のエンコードされた形式です。

小さなヒント:エンコーディングについては、Chromeコンソール(右クリック=>検査)に簡単にアクセスし、次のように入力します btoa("string you want to encode")(またはpostman基本認証を使用)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.