Chromeデベロッパーツールを使用したHTTPリクエストの作成


206

POSTERなどのプラグインを使用せずにChromeデベロッパーツールを使用してHTTPリクエストを行う方法はありますか?


1
クロスドメイン、または開発者ツールを開いたのと同じドメインでリクエストを行いたいですか?
Lukas 2013年

6
:このクロムの問題を主演-この機能を望むすべての人々のためのcode.google.com/p/chromium/issues/...
イワンZuzak

1
すべてが有用な答えでした。私がかなり便利なAdvanced Rest Clientを見つけたツールを追加したかっただけです。これを使用すると、複数のAPIリクエストを作成する場合に、長期的に多くの時間を節約できます。
Sagar Ranglani

6
これにはFirefoxの方が適しています。リクエストを右クリックして再送信するか、編集して再送信します。
eusoubrasileiro 2017

@eusoubrasileiro:ありがとう。Firefoxのネットワークタブにある[編集して再送信]ボタンでリクエストを再送信する機能は、とても便利です。誰かがchromeにも追加するリクエストを出しているといいのですが
firstpostcommenter '10 / 11/31

回答:


187

以来取得APIは、クロム(および他のほとんどのブラウザ)によってサポートされている、それはデベロッパーツールのコンソールからのHTTPリクエストを行うために非常に簡単になりました。

するために、GETインスタンスのJSONファイルを:

fetch('https://jsonplaceholder.typicode.com/posts/1')
  .then(res => res.json())
  .then(console.log)

または、新しいリソースをPOSTするには:

fetch('https://jsonplaceholder.typicode.com/posts', {
  method: 'POST',
  body: JSON.stringify({
    title: 'foo',
    body: 'bar',
    userId: 1
  }),
  headers: {
    'Content-type': 'application/json; charset=UTF-8'
  }
})
.then(res => res.json())
.then(console.log)

Chrome Devtoolsは、実際には新しいasync / await構文もサポートしています(awaitは通常、async関数内でのみ使用できます)。

const response = await fetch('https://jsonplaceholder.typicode.com/posts/1')
console.log(await response.json())

リクエストには、ブラウザーの他のHTTPリクエストと同様に、同じオリジンポリシーが適用されることに注意してください。クロスオリジンリクエストを回避するか、サーバーがリクエストを許可するCORSヘッダーを設定していることを確認してください。

プラグインの使用(以前の回答)

以前に投稿された提案への追加として、Chrome のPostmanプラグインが非常にうまく機能することがわかりました。ヘッダーとURLパラメータの設定、HTTP認証の使用、頻繁に実行するリクエストの保存などを行うことができます。


3
オペレーションはPostmanを使用して回答を受け入れたので、dev-toolsでリクエストを右クリックして[cURLとしてコピー]をクリックすると、cURLコマンドをPostmanにインポートして、リクエストを再送信/変更できます。参照:getpostman.com/docs/postman/collections/data_formats- > "cURLとしてインポート"
dhfsk

1
投稿リクエストの方法は?
-Nuhman

7
@Nuhman Fetchは、リクエストを構成できる2番目の引数を取りますfetch("/echo/json/", { method: "POST", body: data })
Christofer Eliasson

1
Chrome Dev Toolsネットワーク履歴からリクエストをフェッチしてコピーすることもできます。
Vadzim

1
@mathtick mode使用できるリクエストオプションがありますfetch("/echo/json/", { method: 'POST', mode: 'no-cors' }。そのモードに注意してください: "no-cors"はリクエストでヘッダーの限られたセットのみを許可します。フェッチと非コードの使用に関する詳細
クリストファーエリアソン

154

Chromeデベロッパーツールの[ネットワーク]タブでキャプチャしたリクエストを編集して再発行する場合:

  • Nameリクエストのを右クリックします
  • 選択する Copy > Copy as cURL
  • コマンドラインに貼り付けます(コマンドにはCookieとヘッダーが含まれます)
  • 必要に応じてリクエストを編集して実行

ここに画像の説明を入力してください


11
Firefoxではリプレイの前に通話を編集できますが、
Chromeに

3
Chrome 63以降では、CURLをコンソールに貼り付けることができません。
Ravi Parekh 2018

2
@RaviParekh私は彼がChromeコンソールを意味しているとは思わない、彼はOSコマンドラインを意味した
Korayem

4
フェッチとしてコピーを使用すると、変更されたリクエストをChrome Dev Toolsコンソールから直接再発行できます。cURLを持っていない、またはそれに煩わされたくない場合は、実行可能な代替手段です。
Vadzim

1
ただし、curlを使用すると、結果が異なる場合があります。ブラウザからリクエストできるかどうか知りに来ました。ブラウザのjavascriptを使用します。CORSの問題を再現できます。私の端末からのカールで気付かれないようにしてください。
Garry Dias

32

私は知っています、古い投稿...しかし、これをここに残すことは役に立つかもしれません。

現在のブラウザFetch APIをサポートしています

次のように使用できます。

fetch("<url>")
    .then(data => data.json()) // could be .text() or .blob() depending on the data you are expecting
    .then(console.log); // print your data

ps:改良されたため、すべてのCORSチェックが行われXmlHttpRequestます。


13

Webページのjqueryがページにある場合、Chrome開発者コンソールで次のように記述できます。

$.get(
    "somepage.php",
    {paramOne : 1, paramX : 'abc'},
    function(data) {
       alert('page content: ' + data);
    }
);

それを行うjqueryの方法!


14
これは、WebページがjQueryを使用することを前提としています
mikemaccana '

2
これはGETリクエスト専用であることを忘れないでください。他のタイプのリクエストを実行したい場合は、次の方法を使用できます$.ajax
aksu

@mikemaccanaコンソールを介して任意のページにjQueryをロードできます。
ニーム

1
このようにvar script = document.createElement("script"); script.src = "http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.js"; document.body.appendChild(script);
ニーム

1
@itsneoの回答が正解でした!アクセスされているページにjqueryがまだない場合にjqueryをロードする方法。その後、プラグインなしで$ .ajaxまたは同等のものを使用できます
Renato Chencinski

12

@dhfskの回答を拡張する

これが私のワークフローです

  1. Chrome DevToolsから、操作するリクエストを右クリックします> Copy as cURL Chrome DevTools cURLとしてコピー

  2. 郵便配達員を開く

  3. Import左上隅をクリックしてからPaste Raw Text Postman Paste Raw Text cURL from Chrome


4

私は上記の答えのうち2つを組み合わせて運が良かった。Chromeでサイトに移動し、DevToolsの[ネットワーク]タブでリクエストを見つけます。リクエストを右クリックして[コピー]をクリックしますが、cURLではなくフェッチとしてコピーします。コマンドラインを使用する代わりに、フェッチコードをDevToolsコンソールに直接貼り付けて編集できます。


3
「上記の2つの答え」としてそれらを参照してはいけないことかもしれない変更upvoting / downvoting理由
Urosh T.

4

ヘッダー付きのリクエストを取得するには、この形式を使用します。

   fetch('http://example.com', {
      method: 'GET',
      headers: new Headers({
               'Content-Type': 'application/json',
               'someheader': 'headervalue'
               })
    })
    .then(res => res.json())
    .then(console.log)

2

あなたがあなたのウェブサイトでjqueryを使用しているなら、あなたはこのようなものをあなたのコンソールで使うことができます

$.post(
    'dom/data-home.php',
    {
    type : "home", id : "0"
    },function(data){
        console.log(data)
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>


1

シンプルさを保ち、リクエストがすでに見ているページと同じブラウジングコンテキストを使用するようにしたい場合は、Chromeコンソールで次のようにします。

window.location="https://www.example.com";

1

$.post(
    'dom/data-home.php',
    {
    type : "home", id : "0"
    },function(data){
        console.log(data)
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>


1
ランダムなコードを投稿するだけでなく、答えを説明する必要があります。
Jakub Muda
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.