.net HttpWebRequest获取请求返回cookie以及请求时携带cookie

背景:对接第三方接口,需要从登陆接口中获取cookie,在后续接口请求中使用。

过程:本来是应该前台直接对接接口的,可是前台反馈获取不到第三方接口完整cookie,所以只能后台来搞一下了。

解决:

使用HttpWebRequest进行get请求。

1.获取cookie:

public static string SendRequest(string url, Encoding encoding)
    {
        HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
        webRequest.Method = "GET";
        webRequest.CookieContainer = new CookieContainer();
        //webRequest.Headers.Add("Cookie", "JSESSIONID=AFA73CF257CDD40D6AFB83CF1BA6F3D4; _USER_NAME=21010037");
        HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
        //cookie.Add(webResponse.Cookies);
        cookiestr = webResponse.Headers.Get("Set-Cookie");//获取Cookie
        StreamReader sr = new StreamReader(webResponse.GetResponseStream(), encoding);
        string str = sr.ReadToEnd();
        return str;
    }

如上,在请求返回webResponse的头部获取cookie。

2.请求携带cookie:

 public static string SendRequest1(string url, Encoding encoding)
    {
        HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
        webRequest.Method = "GET";
        //webRequest.CookieContainer = cookie;
        webRequest.Headers.Add("Cookie", cookiestr);//携带Cookie
        HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
        StreamReader sr = new StreamReader(webResponse.GetResponseStream(), encoding);
        string str = sr.ReadToEnd();
        return str;
    }

如上,在get请求头中添加Cookie。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值