Apigeeのservice calloutで複数のcookieを扱う方法 | 瀬戸内の雲のように

Apigeeのservice calloutで複数のcookieを扱う方法

Posted: 2019-05-29


スポンサーリンク

目次

背景

Apigeeのservice calloutではcookieを扱うオプションが存在しないため、手動でヘッダを操作してあげる必要があります。今回はその方法をまとめました。

関連記事 : cookieの仕組みを理解するためにcurlでオプションを使わずcookieを設定してみる
 

手順概要

  1. service calloutでヘッダを取得する
  2. python policyでヘッダからcookieを抜き出し、変数化する
  3. 次のservice calloutのヘッダに付与する

 

手順詳細

 

0. 完成したフローのイメージ

こんな感じでポリシーが並ぶはずです

picture

 

1. service calloutでヘッダを取得する

まず最初にservice calloutでリクエストを送ります。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout async="false" continueOnError="false" enabled="true" name="first_request">
    <DisplayName>first_request</DisplayName>
    <Properties/>
    <Request clearPayload="true" variable="myRequest">
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    </Request>
    <Response>calloutResponse-01</Response>
    <HTTPTargetConnection>
        <Properties/>
        <URL>https://sample_web_page.example.com</URL>
    </HTTPTargetConnection>
</ServiceCallout>

(URLは適当です)
このリクエストに対するレスポンスは calloutResponse-01 に格納されます。

 

先程のレスポンスからcookieの情報を抜き出します。これにはPythonを使います。
Pythonポリシーの設定とPythonスクリプト両方を作成します。

Python Policyのほう

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Script async="false" continueOnError="false" enabled="true" name="restore_cookies_policy">
    <DisplayName>restore_cookies_policy</DisplayName>
    <Properties/>
    <ResourceURL>py://restore_cookies.py</ResourceURL>
</Script>

Pythonスクリプトの中身

### restore_cookies.py

cookie_list = []

# calloutResponseから"Set-Cookie"ヘッダを取り出す。複数ある場合はlistで取得される
all_cookie = flow.getVariable("calloutResponse-01.header.Set-Cookie.values")

# 各要素は "xx=zz; Path=/; HttpOnly" という内容になっているので、 "xx=zz" だけを取り出す
for cookie in all_cookie:
    l = cookie.split(';')
    cookie_list.append(l[0])

# 抜き出したcookieをまとめる
# key1=value1; key2=value2; .... のように";"で区切る
cookie = '; '.join(cookie_list)

# apigeeのフローに変数"cookie"として戻す
flow.setVariable("cookie", cookie)

 

3. 次のservice calloutのヘッダに付与する

先程変数化したcookieを付けて再度APIコールします。

service calloutポリシー全文

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout async="false" continueOnError="false" enabled="true" name="second_request">
    <DisplayName>second_request</DisplayName>
    <Properties/>
    <Request clearPayload="true" variable="myRequest2">
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <Set>
            <Headers>
                <Header name="Cookie">{cookie}</Header>
            </Headers>
        </Set>
    </Request>
    <Response>calloutResponse-02</Response>
    <HTTPTargetConnection>
        <Properties/>
        <URL>https://sample_web_page.example.com/login</URL>
    </HTTPTargetConnection>
</ServiceCallout>

上記の中で重要なのは

        <Set>
            <Headers>
                <Header name="Cookie">{cookie}</Header>
            </Headers>
        </Set>

という部分です。このパラメータをつけることによりCookieを付与してAPIコールすることになります。


スポンサーリンク




コメント一覧

2022/05/20 22:11:57

iincyqfvさん

modafinil 100mg brand


2022/05/20 22:43:36

Anbnvunnyさん

sildenafil wiki sildenafil citrate reviews https://sildenafilkiol.com/


2022/04/08 09:33:51

Keezexictさん

peptides tadalafil tadacip (tadalafil)


2022/04/09 23:42:38

Crnnwongeさん

online order viagra generic viagra free viagra sample viagra story


2022/04/10 03:46:53

Dbngplugsさん

п»їKeyword aurochem sildenafil reviews


2022/04/10 02:49:48

Ntfbfplugsさん

cialis coupon purchase cialis


2022/04/10 11:07:29

AndaAudircurnさん

tadalafil research liquid how long does it take for tadalafil to work


2022/04/10 12:11:35

Fnenvunnyさん

viagra overdose viagra samples


2022/04/12 04:34:45

Kbwnexictさん

over the counter viagra india viagra gel pills


2022/04/13 23:11:14

Knrnexictさん

ralphs pharmacy albany college of pharmacy


2022/04/15 10:31:20

Ckanwongeさん

cheap generic levitra online levitra and blood pressure


2022/04/15 15:09:18

Nbttplugsさん

cheap brand cialis 20 mg cialis online paypal payment


2022/04/15 15:41:03

Dsnnplugsさん

pharmacy tech salary in canada pharmacy technician online school


2022/04/15 17:36:37

AnuoAudircurnさん

all in one pharmacy phentermine online pharmacy


2022/04/15 23:00:47

Fuupvunnyさん

sildenafil dosage for erectile dysfunction buy real viagra from canada


2022/04/17 00:50:32

Enrnexictさん

cialis and poppers cialis sales


2022/04/18 12:03:51

Wevgwongeさん

online pharmacy oxycodone 30mg canadian pharmacy generic cialis


2022/04/18 19:50:07

Zbttplugsさん

ivermectin for scabies dosing ivermectin horse dewormer


2022/04/18 18:50:48

AnnoAudircurnさん

viagra for sale online australia buy brand name viagra


2022/04/18 20:29:39

Jtnnplugsさん

how much 1.87 ivermectin for horses do i give 15 lb dog sheep drench ivermectin for dogs


2022/04/18 23:46:23

Auupvunnyさん

buy tadalafil online tadalafil generico


2022/04/20 08:25:10

Ennsexictさん

20 mg sildenafil 680 buy viagra online canada paypal


2022/04/21 18:17:26

Wnsnwongeさん

how levitra works levitra generique 40 mg


2022/04/22 00:56:48

AnuuAudircurnさん

northeast pharmacy canada canadian pet meds pharmacy


2022/04/22 03:07:33

nyyyplugsさん

levitra costs which has less side effects viagra cialis o levitra


2022/04/22 03:42:56

Jnnyplugsさん

long term cialis use viagra vs cialis vs levitra reviews


2022/04/22 06:54:13

Ahhpvunnyさん

cialis south africa online cialis drug


2022/04/23 12:51:54

Eaaqexictさん

online pharmacy tech order from canadian pharmacy


2022/04/24 23:04:21

Wnnhwongeさん

online pharmacy australia xanax canadian online pharmacy


2022/04/25 05:49:29

JyhAudircurnさん

pharm cialis professional


2022/04/25 07:16:05

Ntcxplugsさん

consumer reviews canadian pharmacies american online pharmacy


2022/04/25 07:49:38

Jmmplugsさん

is the canadian pharmacy legit canadian pharmacy online androgel


2022/04/25 11:26:57

Ansnvunnyさん

mexican border pharmacies pharmacy book store


2022/04/30 00:27:35

Ebbexictさん

humana rx mail order pharmacy Viagra Professional https://dtupharmyjn.com/


2022/05/01 09:42:37

Wnbhwongeさん

levitra discount cards levitra prescription assistance https://glevitrargu.com/


2022/05/01 16:34:27

JyhgAudircurnさん

stromectol for scabies dosage ivermectin canada buy https://stromectolujlo.com/


2022/05/01 18:01:21

Nndnplugsさん

mail order pharmacies phendimetrazine online pharmacy https://jzpharmacyukj.com/


2022/05/01 18:33:49

Jebplugsさん

generic viagra india how to get viagra online https://sgiviagraikn.com/


2022/05/01 21:45:08

Anbnvunnyさん

sildenafil ranbaxy sildenafil teva 100mg https://sildenafilkiol.com/


2022/05/04 02:43:59

Ebbeexictさん

brand cialis trial pack free sample of cialis https://dccialisxvf.com/


2022/05/05 18:13:25

JolwAudircurnさん

where to buy viagra in mexico viagra 100mg tablet online in india https://aviagrasbt.com/


2022/05/05 18:54:23

Nndenplugsさん

levitra no rx levitra and premature ejaculation https://xclevitradb.com/


2022/05/05 19:27:58

Jebnplugsさん

hy-vee pharmacy cvs pharmacy jobs


2022/05/09 11:55:50

woywapさん

uso medical abbreviation https://keys-chloroquinehydro.com/


2022/05/09 20:45:34

Ebbeexictさん

cialis egypt best price for cialis 20 mg https://dccialisxvf.com/


2022/05/11 04:33:37

Wnbhwongeさん

coupon levitra levitra professional samples https://glevitrargu.com/


2022/05/11 11:40:34

JolwAudircurnさん

cost of genuine viagra sildenafil pharmacy prices https://aviagrasbt.com/


2022/05/11 11:59:53

Nndenplugsさん

levitra vs cialis forum levitra pen https://xclevitradb.com/


2022/05/11 12:26:20

Jebnplugsさん

Malegra DXT pharmacy technician certification online


2022/05/11 16:08:33

fnlgenvmさん

provigil 200mg price


2022/05/11 16:07:40

Anbnvunnyさん

sildenafil where to buy sildenafil 100mg tablet https://sildenafilkiol.com/


2022/05/12 10:01:01

Chanelさん

provigil 100mg cost


2022/05/13 08:04:22

wvshweefさん

brand modafinil 100mg modafinil tablet


2022/05/14 22:12:39

MaggeeOaOaさん

dissertation title page
get dissertation help
help with dissertation writing uk


2022/05/15 16:16:21

mhespxadさん

modafinil 100mg for sale


2022/05/15 21:16:03

RegineOaOaさん

dissertation writing guide
dissertation proposal writing
writing abstract dissertation


2022/05/16 08:03:14

Wnbhwongeさん

levitra and food levitra customer reviews https://glevitrargu.com/


2022/05/16 15:29:39

KirstiOaOaさん

top dissertation writing service
writing results for dissertation
defending your dissertation


2022/05/16 15:49:29

Nndenplugsさん

levitra fiyat levitra para que es https://xclevitradb.com/


2022/05/16 16:27:30

Jebnplugsさん

my canadian pharmacy rx reviews pharmacy online 365 legit


2022/05/18 18:56:53

uhtovjdpさん

order modafinil 100mg buy provigil 200mg online buy provigil 100mg without prescription


2022/05/18 19:52:45

jwcrucvcさん

erythromycin allergy low dose erythromycin


2022/05/18 22:04:43

lumuhqvoさん

modafinil 200mg brand modafinil pill


2022/05/19 02:16:48

Ebbeexictさん

cialis over the counter in spain cialis without persriction https://dccialisxvf.com/


2022/05/19 09:43:09

KirstiOaOaさん

help write my dissertation
doctoral dissertation help business
find a dissertation help tutor


2022/05/19 12:37:00

pzmkylyxさん

provigil 200mg pill order provigil pills modafinil 200mg pills


2022/05/19 17:25:29

dirgraqfさん

order provigil for sale


2022/05/20 03:38:41

CharlaOaOaさん

dissertation titles
online cheap dissertation help
dissertation writing service atlanta ga


2022/05/20 11:06:22

Wnbhwongeさん

can you take viagra and levitra together levitra price https://glevitrargu.com/


2022/05/20 17:56:49

JolwAudircurnさん

where can i buy viagra over the counter in usa price of viagra in india https://aviagrasbt.com/


2022/05/20 19:01:50

Nndenplugsさん

levitra goodrx levitra bayer https://xclevitradb.com/


2022/05/20 19:01:38

gaadeobuさん

buy modafinil 100mg order modafinil 200mg generic


2022/05/20 19:33:01

Jebnplugsさん

mexican pharmacy weight loss prime rx pharmacy software



コメントを投稿する


お名前


コメント内容





TOP back