2017-02-25 11 views
1

Rest要求を取得しようとしています。私は推奨された方法からCookieを取得することができましたが、その後のリクエストを処理できません。タイトルに記載されている応答は以下の条件で返されます。戻り値が見つからないか、または "指定された値に無効なHTTPヘッダー文字が含まれています。パラメータ名:名前"

foreach(RestResponseCookie a in response.Cookies){ 
if(a.Name == "JSESSIONID") 
       { 
        request.AddHeader("cookie:" + a.Name, a.Value); 
       } 
} 
response = client.Execute(request); 

これは、「指定された値が無効なHTTPヘッダーの文字を持って返します。パラメータ名:名手動でサイトに行くとき、私は、要求を取得することができますが、 『見つかりません」

代わりにリターンをされ

  request.AddCookie(a.Name, a.Value); 

を介してこれを追加しようとしています』。

Edit1。

すべてのCookieをドキュメントで明示的に記載されているものではなく処理することで修正が可能でした。

client.CookieContainer = new CookieContainer(); 
foreach(RestResponseCookie a in response.Cookies){ 
    if(a.Expires == new DateTime(0))//remove expiring cookie as stated in dat3450's answer 
     client.CookieContainer.Add(newCookie() {Name = a.Name, Value = a.Value, Path = a.Path, Domain = a.Domain}); 
} 

答えて

1

上記のコードから、追加のCookieはリクエストに含まれていないようです。

  • JSESSIONID
  • することができますstudio.crowd.tokenkey

atlassian.xsrf.token

  • :JIRA APIを介して有効な要求を送信するために必要とされる3枚のクッキーがあります。これらのクッキーを(有効なログイン応答から)JSESSIONIDクッキーを取得するのと同じ場所に取得します。応答のすべてのSet-Cookieヘッダーを通過し、Expiresパラメーターを持つstudio.crowd.tokenkey以外のすべてを使用します。

    JIRA APIのリファレンスページにはこれに関する多くの情報はありませんので、ここにいくつかの追加情報があります:https://confluence.atlassian.com/cloud/cookies-744721661.html

  • 関連する問題