Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
mid5
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 8
#1

Отправить пост запрос по протоколу https формат xml на адрес и получить ответ

22.11.2014, 13:22. Просмотров 1465. Ответов 14
Метки нет (Все метки)

Нужно отправить пост запрос по протоколу https формат xml на адрес и получить ответ. Параметры запроса я получал из HTTPAnalyzerFullV7.
У самого запроса такой вид "<?xml version="1.0" encoding="UTF-8"?><Auth ProjectId="61" SubProjectId="0" ShardId="0" UserId="01234567890123456789" UserId2="01234567890123456789" Username="123456" Password="123456"/>" храню я его в ресурсах и беру от туда.

Код VB.net:
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
        Dim s As String = My.Resources.auth_str ' текст запроса в ресурсах
 
        Dim byteData As Byte() = System.Text.Encoding.ASCII.GetBytes(s)
 
        Dim tempCookies As New CookieContainer
 
        Dim postReq As HttpWebRequest = WebRequest.Create("https://authdl.mail.ru/sz.php?hint=Auth")
 
        postReq.Method = "POST"
 
        postReq.Accept = "*/*"
 
        postReq.ContentType = "application/x-www-form-urlencoded"
 
        postReq.UserAgent = "Downloader/4260"
 
        postReq.Host = "authdl.mail.ru"
 
        postReq.ContentLength = byteData.Length
 
 
        Dim postreqstream As Stream = postReq.GetRequestStream()
        postreqstream.Write(byteData, 0, byteData.Length)
 
        postreqstream.Close()
        Dim postresponse As HttpWebResponse
 
        postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse)
        tempCookies.Add(postresponse.Cookies)
 
        Dim postreqreader As New StreamReader(postresponse.GetResponseStream())
 
        Dim thepage As String = postreqreader.ReadToEnd
 
        TextBox1.Text = thepage
после вызова сервер высылает ошибку 400. Смотрел отправляемые запросы - мой запрос сменился на ""61" SubProjectId="0" ShardId="0" UserId="1" UserId2="2" Username="123456" Password="123456"/>"
Немогу никак понять почему. Веб программированием никогда особо не занимался, дело с https протоколами имею впервые.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2014, 13:22
Ответы с готовыми решениями:

Отправить запрос и получить ответ в переменную
Возник вопрос, как отправить запрос и получить ответ в переменную, без...

Webclient uploadfile получить ответ от сервера после загрузки файла на указанный адрес
Всем привет! Подскажите как получить ответ от сервера webclient.uploadfile...

Подать запрос и получить ответ от сервера API
Приветствую всех читающих.Хотел бы получить ответ от сервера и вывести данные...

Как отправить на сервер xml запрос с помощью post и получить ответ в xml?
нужно отправить на сервер xml запрос с помощью post и получить ответ в xml,...

Как отправить POST или GET запрос на сайт, доступный только по протоколу HTTPS
День добрый, По протоколу HTTP когда получаю страницу все работает отлично,...

14
Дядя Корней
314 / 256 / 50
Регистрация: 14.08.2014
Сообщений: 928
22.11.2014, 14:37 #2
mid5, ошибка 400 говорит о том, что сервер отклонил Ваш запрос из-за его некорректности. Иными словами то, что Вы отправляете содержит ошибки, либо в отправляемых данных не хватает какой-то части в заголовках.
Сделайте сперва отправку через обычный браузер, а потом повторите тоже самое через WebRequest, только делая всё один в один как в отправляемых данных браузером, иногда несовпадение на 1 байт может привести к тому, что сервер отклонит запрос.

Либо предоставьте "пост дата строки" из анализера при отправки Вашей программой и браузером. Без этого вряд ли кто поможет, т.к. совсем не ясно, что должно отправится и что отправляете Вы.
Так же предоставьте заголовки которые передает браузер и те, которые передает Ваша программа. Без этого Вам лучше обратится к магам, которые что-там видят в своем хрустальном шаре
0
mid5
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 8
22.11.2014, 15:16  [ТС] #3
Не уверен что такое через компонент Webbrowser реализуемо. Навсякий случай кидаю скрины из HTTPAnalyzerFullV7.
Тут скрины:
Кликните здесь для просмотра всего текста
Отправить пост запрос по протоколу https формат xml на адрес и получить ответ


Отправить пост запрос по протоколу https формат xml на адрес и получить ответ


Отправить пост запрос по протоколу https формат xml на адрес и получить ответ


Отправить пост запрос по протоколу https формат xml на адрес и получить ответ
0
mid5
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 8
22.11.2014, 15:21  [ТС] #4
В Response content находится то что мне нужно, еще 2 запроса аналогичные. Если что пишу авто-авторизацию без гейм центра от мыло ру. С недавними обновами сильно напрягает ошибка сети которая по 40 раз выскакивает, стороннему по я не доверяю.
0
Дядя Корней
314 / 256 / 50
Регистрация: 14.08.2014
Сообщений: 928
22.11.2014, 15:25 #5
И тоже самое увидеть бы, только при передачи из браузера. На снимках показаны только данные передаваемые программой, а то сравнивать не с чем.
0
mid5
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 8
22.11.2014, 15:32  [ТС] #6
Ну так не браузером эти данные передаются.
0
Дядя Корней
314 / 256 / 50
Регистрация: 14.08.2014
Сообщений: 928
22.11.2014, 15:35 #7
А чем передаются?
0
mid5
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 8
22.11.2014, 15:35  [ТС] #8
Как я понял тут исспользуется протокол https метод Post. Гейм центр делает 3 запроса на https://authdl.mail.ru/sz.php?hint=Auth и получает данные или не получает. Если не получает - перезапуск, каждый такой перезапуск около минуты.
0
Дядя Корней
314 / 256 / 50
Регистрация: 14.08.2014
Сообщений: 928
22.11.2014, 15:57 #9
Не, я пас.
Чтобы что-то повторить, нужно знать, что повторять.
В данный момент я не понимаю что вы отправляете в запросах и откуда это взяли. Естественно отправляя на сервер неизвестно что ничего хорошего из этого не получится.
Чтобы удачно отправить данные, вам нужно опираться на программу или что-то, что успешно может отправлять эти данные.
Я почему и сказал с самого начала, что нужны успешно отправляемые данные из сниффера.
0
mid5
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 8
22.11.2014, 16:25  [ТС] #10
Цитата Сообщение от Дядя Корней Посмотреть сообщение
нужны успешно отправляемые данные из сниффера.
Это успешная авторизация.
0
Дядя Корней
314 / 256 / 50
Регистрация: 14.08.2014
Сообщений: 928
22.11.2014, 16:58 #11
mid5, хорошо. Дальше после успешной авторизации Вы что делаете? Отправляете файл, верно?
0
mid5
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 8
22.11.2014, 17:02  [ТС] #12
По полученным данным в игре уже авторизуюсь. Это уже протокол TCP IP - с ним у меня нет проблем никаких.
0
Дядя Корней
314 / 256 / 50
Регистрация: 14.08.2014
Сообщений: 928
22.11.2014, 17:05 #13
Нет, прошу прощения, но я помочь не смогу. Может кто-то другой поймет то, о чем Вы говорите. Лично я, чем дальше, тем больше не понимаю что у Вас там происходит.
0
mid5
0 / 0 / 0
Регистрация: 22.11.2014
Сообщений: 8
22.11.2014, 17:07  [ТС] #14
Ннверно я не тот снифер исспользую...
0
Дядя Корней
314 / 256 / 50
Регистрация: 14.08.2014
Сообщений: 928
22.11.2014, 17:14 #15
Сниффер тот. Это один из лучших снифферов. Выше него пожалуй только фидлер, но фидлер больше для совсем уж проф. работ.
Проблема в том, что вы как мне кажется не понимаете то, что делаете.
Просто так взять и послать на срвер абы что - НЕВОЗМОЖНО!
Чтобы сделать то, что вы делаете, нужно сперва воспроизвести через браузер или программу или что там у вас и все шаги просниффать. После этого уже имея данные из сниффера можно воспроизвести все запросы с помощью программирования. Вы же, если я правильно понял что-то отправляете наугад, так не делается.
1
22.11.2014, 17:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2014, 17:14

Отправить XML запрос по SOAP протоколу
Каким способом можно отправить запрос по XML/SOAP не используя HTTPRIO ?

Отправить JSON на HTTPS страницу через Synapse и получить ответ
Здравствуйте! Есть задача передать на страницу данные в JSON и получать...

Отправить запрос и получить ответ
Допустим есть код на php: &lt;html&gt; &lt;input type=&quot;text&quot; name=&quot;text&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru