2015-01-29 7 views
0

Я хочу, чтобы отправить запрос POST через WebRequest с помощью следующей POST:Отправка запросов POST с помощью Cookies

POST https://olui2.fs.ml.com/ClientFederation/LoginValidateUser.asmx/ValidatePassword HTTP/1.1 
Host: olui2.fs.ml.com 
Connection: keep-alive 
Content-Length: 76 
Origin: https://olui2.fs.ml.com 
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36 
Content-Type: application/json; charset=UTF-8 
Cache-Control: no-cache 
X-Requested-With: XMLHttpRequest 
__PageIdHeader: jclrKnUbxSsmkPo01YGJFc4O9l3kt79RUdjpUT9mB3E= 
X-Bear: jclrKnUbxSsmkPo01YGJFc4O9l3kt79RUdjpUT9mB3E= 
Accept: */* 
Referer: https://olui2.fs.ml.com/login/ConfirmIdentity.aspx 
Accept-Encoding: gzip,deflate 
Accept-Language: en-US,en;q=0.8 
Cookie: pxv=da927b45-fda7-440d-893e-5058b60053b1; __g_u=277817800941577_1_1_1_5_1422571043310_1; __g_c=a%3A0; pxss=392613e3-6d74-4947-b707-8b6ce7a1df8e; FSDSession=true; Bear=jclrKnUbxSsmkPo01YGJFc4O9l3kt79RUdjpUT9mB3E=; NSC_pmvj2-NzNfssjmm-wt=9fea903a0000; pxsq=19 

{"username":"username","rememberMe":false,"password":"mypassword","data":null} 

{} является для JSON. Вот код, который я до сих пор:

 //Get the variables 
     string url = "http://olui.fs.ml.com/Login/Login.aspx"; 
     string userName = loginUN; 
     string userPassword = loginPW; 

     //Connection Parameters 
     string method = "POST"; 

     HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create("https://olui2.fs.ml.com/ClientFederation/LoginValidateUser.asmx/ValidatePassword"); 
     webReq.Connection = "keep-alive"; 
     webReq.ContentLength = 76; 
     webReq.UserAgent = " Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36"; 
     webReq.ContentType = "application/json; charset=UTF-8"; 
     webReq.Accept = "*/*"; 
     webReq.Referer = " https://olui2.fs.ml.com/login/ConfirmIdentity.aspx"; 

Я не уверен, как установить кук мне нужно использовать для входа в систему. Во-вторых, есть несколько частей запроса, который я не могу найти в моем WebRequest, т.е. е. Accept-Language, Cache-Control, X-Request и все части на юг.

Еще одна большая вещь, о которой я не уверен, - это JSON с именем пользователя и паролем.

+3

Попытка программно войти в веб-сайте Банка Америки, в лучшем случае, страшная мысль и, в худшем случае, звучит более чем мало подозрительно. –

+0

Я просто пытаюсь автоматизировать процесс для клиента. Я использую Selenium через Java, но искал более быстрый процесс без регистрации. Нет злонамеренных намерений – jDave1984

ответ

2

У вас есть несколько задач в одном вопросе. Возможно, лучше разделить свой набор проблем на несколько вопросов.

В любом случае, я сосредотачиваюсь здесь на первом упоминании проблемы с печеньем. Компонент HttpWebRequest имеет свойство CookieContainer. Вам нужно создать экземпляр контейнера cookie и прикрепить его к этому конкретному свойству. Пример:

HttpWebRequest webReq = ... 
webReq.CookieContainer = new CookieContainer(); 
webReq.CookieContainer.Add(new Cookie("name", "value", "/", yourDomain)); 
// etc. 

Вот хороший блог, который может помочь еще дальше: http://blogs.msdn.com/b/adarshk/archive/2004/08/24/219714.aspx

+1

Это поможет тонну! Вы, сэр, благородный человек! Я разберу вопрос на части, на которые не ответил, и еще раз подготовлюсь к реакции. – jDave1984

Смежные вопросы