web-dev-qa-db-ja.com

PHP CURLリクエストをコマンドラインカールに変換する方法

次のphp curlリクエストをcurl実行可能コマンドに変換する方法。

 $curlOpts = array(
                    CURLOPT_PORT           => "3000",
                    CURLOPT_URL            => 'www.example.com',
                    CURLOPT_RETURNTRANSFER => true,
                    CURLOPT_HTTPHEADER     => array("Cookie: connect.sid=aASD234SDFfds", "content-type:application/json"),
                    CURLOPT_POST           => true,
                    CURLOPT_POSTFIELDS     => {"email": "test.com",  
   "password": "123456"},
                );

curl_setopt_array($ch, $curlOpts);
 $output = curl_exec($ch);

私が欲しい尊敬のCurlコマンド

curl -X GET --header 'Accept: application/json' 'http://www.example.com?sort=clicks&order=des'


curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
   "email": "test.com", \ 
   "password": "123456" \ 
 }' 'http://example.com/login'

同じように私を助けてください。

16
HItesh Tank

これは回避策であることに注意してください。

Postman でhttpリクエストを組み立ててみてください。これは、APIをテストするための非常に豊富なツールです。これはChromeプラグインであり、Chromeウェブストアから無料で入手できます( link )。または、スタンドアロンのクライアントとして、Webサイトからインストールすることもできます。

それはあなたがあなたの好みの異なる言語/フォーマットでラップされたカールコマンドをつかむことを可能にする素晴らしい機能を持っています。あなたの場合、BASHでも。

次にリクエストをまとめます:

  • 「コード」をクリックします(「保存」ボタンのすぐ下)
  • ドロップダウンリストから「cURL」を選択します
  • 「クリップボードにコピー」をクリックします

...それだけです。フォーマット済みのcURLコマンドラインがあります。

また、JavaScriptで記述された cURL-to-PHP と呼ばれるツールがあります。これは、まさにやりたいことを行います。

少し時間があれば、少しの労力でコンバータロジックをPHPに変換できます(たとえば、cURL内部のすべての側面を調査する必要はありません)。

4
Gergely Lukacsy

https://github.com/biganfa/php2curl をご覧ください。ウェブサーバーを起動してリクエストを送信すると、ライブラリを使用してコマンドラインのcURLバージョンのリクエストを取得できます。

3
Vasiliy