0
.net 클라이언트 API 요청에서 원격 서버로 쿠키를 POST하려고합니다. 요청이 쿠키 데이터의 265 바이트 전송 .NET 클라이언트에서 REST API로 POST가있는 쿠키 보내기
: 내 API 호출을 게시 할 때cookiesDirective=1; __utmt=1; currentLanguage=EN;
__utma=198151921.81872271.1398032350.1423043623.1423075781.3;
__utmb=198151921.3.10.1423075781;
__utmc=198151921;
__utmz=198151921.1423043623.2.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided)
그러나, 내 쿠키 컨테이너가 비어 피들러를 사용
, 내가 필요로하는 쿠키는 다음과 같습니다 볼 수 있습니다 다음 (피들러 따라)
내 코드 :
static async Task RunAsync()
{
string url = "http://www.myserver.com/Services/GetData";
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:9000/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var model = new Payload() { pageNumber = 2 };
var cookie = new CookieHeaderValue("session-id", "12345");
cookie.Expires = DateTimeOffset.Now.AddDays(1);
cookie.Path = "/";
HttpResponseMessage response = new HttpResponseMessage();
response.Headers.AddCookies(new CookieHeaderValue[] { cookie });
response = await client.PostAsJsonAsync(url, model);
if (response.IsSuccessStatusCode)
{
// Testing
}
}
}
이 http://stackoverflow.com/questions/12373738/how-do-i-set-a-cookie-on-httpclients-httprequestmessage – mikey
도 고려해야합니다 행크스 내가이 다음과 같은 작업있어 @mikey하기 REST 서비스와 통신 할 때 RestSharp (http://restsharp.org/)를 사용하십시오. – slvnperron
* response * 객체에 쿠키를 설정하면 서버가 당신에게 보내는 것을 관리하는 객체가 많이 작동하지 않습니다 . 당신은 * 요청 *을 실제로 보내는 것에 쿠키를 설정할 필요가있다. 이것은 당신의 코드에서'클라이언트'가 될 것이다. 이를 수행하는 방법에 대한 설명은 @mikey가 제공 한 링크를 참조하십시오. –