この記事ではPostman AdventCalender 2024 12月11日分の記事です。
Postman でテストを行う際、通常はUser-Agent: PostmanRuntime/x.xx.x
というUser Agent を出力します。
(x.xx.x
の部分はPostmanのバージョン情報が格納されます)
Bot対策等が導入されているAPIでは、特殊なUser-Agentからのアクセスは通さないケースがありこれを変更したい場合があります。
ただ以下の通りUser-Agentの変更はPostman側で上書きが出来ない様制御されています。
User-Agentを変更するには以下2つの方式があります。
オーバーライド方式
単純に以下のように新しく同じ変数名User-Agent
としてヘッダーに追加すれば自動でオーバーライドされます。
このようにもとからある値は無効化されています。
ブラウザエージェント方式
通常意識しない限りPostman Collectionsを実行するエージェントは、クラウドエージェント(Postmanクラウド側でAPIコールが行われる)、もしくはデスクトップエージェント(作業をおこなっている端末のエージェントからAPIコールが行われる)のどちらかになっています。これをブラウザエージェントに変更することで作業しているブラウザのUser-Agentをそのまま出力するようになります。
ただしこの場合ブラウザがCORS(Cross-Origin Resource Sharing)を踏まえた動作となるため、まずOPTIONS
メソッドが送付されることとなります。ブラウザがpostmanドメインに代わり、別ドメインとしてリクエストを出すためです。
サーバ側が開発途中やテスト用Mock等の場合CORSに対して正しいレスポンスを戻さない場合、OPTIONSのみでAPIコールが停止してしまうので注意が必要です。