Форум программистов, компьютерный форум, киберфорум
Наши страницы
PowerShell
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Victoros6666
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 111
1

WebResponse ответ от сервера

13.03.2018, 20:24. Просмотров 809. Ответов 4
Метки нет (Все метки)

добрый день,
Как реализовать метод WebClient::UploadData Method (Uri^, String^, array<Byte>^) используя System.Net.WebRequest и получить тип возвращаемого значения как в UploadData Type: array<System::Byte>^
1)
PowerShell
1
2
$webclient = new-object system.net.WebClient;
$streamReader =  $webclient.UploadData($url ,"POST",$data);


2)
PowerShell
1
2
3
4
5
6
7
8
9
10
11
[System.Net.HttpWebRequest] $webRequest = [System.Net.WebRequest]::Create('URl')
$webRequest.Timeout = 300000
$webRequest.Method = 'POST'
$webRequest.ContentType = 'multipart/form-data'
$webRequest.ContentLength = $data.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($data, 0, $data.Length)
$requestStream.Flush()
$requestStream.Close()
[System.Net.HttpWebResponse] $webResponse = $webRequest.GetResponse()
$streamReader = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
во втором случаи на выходе получаю тип переменной $streamReader String, а мне надо array<System::Byte> как в UploadData
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2018, 20:24
Ответы с готовыми решениями:

Как узнать статус код ответа сервера WebRequest и WebResponse?
Здрасте! Такой вопросец нагрянул, надо написать функцию обращения к серверу и...

Indy: программа не получает правильный ответ от сервера, но сниффер показывает правильный ответ
Всем привет. Моя программа должна сделать гет запрос на определенный сайт. Я...

Ответ с сервера
Нам задали создать с сайт с регистрацией.Написали сайт HTML кодами.Понятия не...

Ответ сервера
Приветствую Всех. У меня вот такой вопрос. Получаю ответ от сервера вот...

Ответ сервера
Вот смотрите, есть TCP клиент и TCP сервер. Клиент стучится, сервер слушает. И...

4
greg zakharov
Покинул форум
1958 / 830 / 240
Регистрация: 07.05.2015
Сообщений: 1,666
13.03.2018, 20:50 2
Лучший ответ Сообщение было отмечено Victoros6666 как решение

Решение

Используйте BinaryReader вместо StreamReader.
1
Victoros6666
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 111
13.03.2018, 21:53  [ТС] 3
сделал так
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
[System.Net.HttpWebRequest] $webRequest = [System.Net.WebRequest]::Create('URl')
$webRequest.Timeout = 300000
$webRequest.Method = 'POST'
$webRequest.ContentType = 'multipart/form-data'
$webRequest.ContentLength = $data.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($data, 0, $data.Length)
$requestStream.Flush()
$requestStream.Close()
[System.Net.HttpWebResponse] $webResponse = $webRequest.GetResponse()
$streamReader = New-Object System.IO.BinaryReader($webResponse.GetResponseStream())
$streamReader.ReadBytes($webResponse.ContentLength)
но вопрос в том почему $webResponse показывает ContentLength : -1, тем самым не выкачивает все байты из потока? хотя сервер отдает ответ длинной явно не -1. как минимум 256
0
greg zakharov
Покинул форум
1958 / 830 / 240
Регистрация: 07.05.2015
Сообщений: 1,666
13.03.2018, 22:11 4
PowerShell
1
2
3
...
$streamReader = New-Object IO.BinaryReader($webResponse.GetResponseStream())
$streamReader.ReadBytes($streamReader.BaseStream.Length)
0
Victoros6666
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 111
13.03.2018, 23:19  [ТС] 5
BaseStream выводит такие данные где у него нет длинны , тем самым нет возможности выкачать все байты из потока
PowerShell
1
2
3
4
5
6
7
8
9
10
11
$streamReader.BaseStream
 
 
CanTimeout   : True
ReadTimeout  : 300000
WriteTimeout : 300000
CanRead      : True
CanSeek      : False
CanWrite     : False
Length       : 
Position     :
Хотя $streamReader.ReadByte() выкачивает по 1 байту из потока , не понятно как взять длинну всего потока для организации цикла и выкачки всех данных
0
13.03.2018, 23:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2018, 23:19

Ответ сервера
Отсылаю серверу запрос,сервер в ответ присылает какие либо данные.Но клиент...

Ответ от сервера
Ребята подскажите, пожалуйста. Сделал сервер, ответ от него посылаю в таком в...

Ответ сервера
Есть некий скрипт, для генерации конечного результат идет запрос на сервер...


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

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

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