Dim address As String = "https://api.betfair.com/exchange/betting/json-rpc/v1" Dim request As HttpWebRequest = CType(WebRequest.Create(address), HttpWebRequest) request.Method = "POST" request.ContentType = "application/json" request.Headers.Add(HttpRequestHeader.AcceptCharset, "UTF-8") request.Headers.Add("X-Application", key) request.Headers.Add("X-Authentication", token) If list = "listEvents" Then postData = Json_Object_events() Dim post_data_jsob As Newtonsoft.Json.Linq.JObject = JsonConvert.DeserializeObject(postData) post_data = post_data_jsob.ToString Dim bytes As Byte() = Encoding.GetEncoding("UTF-8").GetBytes(postData) request.ContentLength = bytes.Length Dim out_stream As Stream = request.GetRequestStream() out_stream.Write(bytes, 0, bytes.Length) Dim response As WebResponse = request.GetResponse
3
Подскажите, чо вдруг бот перестал работать?
Автор pozitrone23, Aug 28 2015 13:18
7 ответов в эту тему
#1 OFFLINE
Добавлено 28 August 2015 - 13:18
Добрый день. Неожиданно вылезло исключение типа ProtocolViolationException при вызове метода GetResponse (прикрепил фотку). Я 3-ий день не могу понять в чем проблема - до этого прога работала наверно 1 год и такого типа ошибок не было, а тут я ее запустил после 3 месячного перерыва, и она выдала! Главное дело, я не пойму на какую именно ContentLenght указано, потому что, как видно на фотке, переменная ContentLenght = 409d. Тогда чо он мне гонит тут?((
#3 OFFLINE
Добавлено 28 August 2015 - 18:14
denvb, on 28 August 2015 - 13:27, сказал:
меняли протокол, случайно не это?
Эээ, спасибо, ща проверю) Скажи пжл, вот лично ты чо менял за последнее время?) а то я сто пудов какое-то обновление пропустил, а нигде не могу найти у них на сайте упоминание
Погоди
, в смысле поменять протокол? На какой? json 7.0.dll менял, но по-моему не помогло
Отредактировано pozitrone23, 28 August 2015 - 18:16.
#4 OFFLINE
Добавлено 28 August 2015 - 18:17
pozitrone23, on 28 August 2015 - 13:18, сказал:
Добрый день. Неожиданно вылезло исключение типа ProtocolViolationException при вызове метода GetResponse (прикрепил фотку). Я 3-ий день не могу понять в чем проблема - до этого прога работала наверно 1 год и такого типа ошибок не было, а тут я ее запустил после 3 месячного перерыва, и она выдала! Главное дело, я не пойму на какую именно ContentLenght указано, потому что, как видно на фотке, переменная ContentLenght = 409d. Тогда чо он мне гонит тут?((
Сделай обвертку (try catch) и запиши в лог ошибку тогда подскажем Вам.
pozitrone23, on 28 August 2015 - 18:14, сказал:
Эээ, спасибо, ща проверю) Скажи пжл, вот лично ты чо менял за последнее время?) а то я сто пудов какое-то обновление пропустил, а нигде не могу найти у них на сайте упоминание
Погоди
, в смысле поменять протокол? На какой? json 7.0.dll менял, но по-моему не помогло
Погоди
, в смысле поменять протокол? На какой? json 7.0.dll менял, но по-моему не помогло
Ты когда последний раз до этого запускал бота ?
Если давненько то тебе сообщением выше уже помогли
#5 OFFLINE
Добавлено 28 August 2015 - 19:05
AlexX, on 28 August 2015 - 18:17, сказал:
Сделай обвертку (try catch) и запиши в лог ошибку тогда подскажем Вам.
Нет, это не поможет. Текст исключения вот(кстати на фотке выше его видно):
ProtocolViolationException occured:
Перед вызовом [Begin]GetResponse необходимо записать ContentLength байт в поток запроса.Этот код работал в мае, ничо в нем не трогал. В принципе это самая обычная отправка байтов, тут вроде просто, но хрен тебе.
Потом прочел что можно попробовать закрыть поток:
out_stream.Close()В этом случае ошибка
WebException occured:
Удаленный сервер возвратил ошибку: (417) Expectation Failed.
Отредактировано pozitrone23, 28 August 2015 - 19:06.
#8 OFFLINE
Добавлено 28 August 2015 - 21:14
pozitrone23, on 28 August 2015 - 19:05, сказал:
Потом прочел что можно попробовать закрыть поток:
WebException occured:
out_stream.Close()В этом случае ошибка
WebException occured:
Удаленный сервер возвратил ошибку: (417) Expectation Failed.