Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование (VB,C#,ASP,.NET): новости, советы, примеры



Выпуск # 526


http://www.kbyte.ru/

 

Новый выпуск!

Доброе время суток!
Меня зовут R-KDR-19826, представляю Вам очередной выпуск рассылки Kbyte.Ru!

 

Содержание выпуска

Система ЭКСПЕРТ

    Вопрос #001017: Бесплатные программы

    Вопрос #001014: Avi и Mpeg4 в Visual Basic

    Вопрос #000952: Обработка файлов в C# (.NET 2.0)

    Вопрос #000947: Секундомер

    Вопрос #000937: DLOOKUP??

Последнее на форумах

    *.exe запускает другой *.exe

    cookies

    Возвращение в прошлое

    Авторизация при помощи HttpWebRequest

    Проблема с HDD

Последние статьи

    Нестандартная форма

    Как узнать размер базы данных MySQL через php

    Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)

    Работа с SQL – Запросы

    Использование XML.Serialization

Интересные коды и решения

Юмор на Kbyte.Ru

 

Система ЭКСПЕРТ

 

Система «Эксперт» - уникальная система, которая поможет решить, если не все, то многие Ваши проблемы с программированием и разработкой! Если у Вас есть какой-либо вопрос по программированию или разработке, то Вы всегда можете задать его нашим Экспертам! При этом каких-либо особых действий от Вас не потребуется! Просто отправьте Ваш вопрос на адрес mailto:expert@kbyte.ru, в теме письма укажите тему вопроса, в тексте – сам вопрос, и все! Эксперты дадут Вам ответ в течение 12-24 часов, на тот адрес, с которого Вы отправите вопрос. Все проще простого! Никакой регистрации и заполнение бесконечных форм, просто спросите и получите ответ ;-)


Вопрос #001017: Бесплатные программы

Автор вопроса: Sarj // 03.06.2008 / 08:56

Уважаемые эксперты, поскажите пожалуйста бесплатный аналог Corel Draw. Очень надо...

.....

Отвечает: Алексей Немиро // 03.06.2008 / 09:02

Здравствуйте, Sarj.

http://inkscape.org/

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #001014: Avi и Mpeg4 в Visual Basic

Автор вопроса: алексей // 02.06.2008 / 12:36

Как можно проигрывать эти форматы в вижал бэйсик? Пример на сайте не работает.

.....

Отвечает: Алексей Немиро // 02.06.2008 / 12:43

Здравствуйте, Алексей.

Можно использовать MediaPlayer. Для этого его нужно подключить к
проекту через меню Project (Проект) -> Components (Компоненты), в
появившемся окне найти и выбрать Windows Media Player. Далее, в
панели инструментов должна появиться иконка плеера, который можно
разместить на форме. Указать файл для проигрывания можно
в свойство URL, или FileName в зависимости от версии проигрывателя.

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000952: Обработка файлов в C# (.NET 2.0)

Автор вопроса: Сергей // 09.05.2008 / 18:07

Доброе время суток!
В общих словах, такая задача поставлена передо мной: На веб-странице
пользователь выбирает файл, нажимает кнопку "Импорт" и из этого файла
данные импортируются в таблицу БД Oracle.
Файл должен быть текстовым, первые 2 строки- информация о времени и
логине того, кто выгружал. После них идут строки данных, поля
разделяются симоволом | .
Просьба дать ссылки на документацию по работе с файлами, которые могут
помочь :-)

Отвечает: Алексей Немиро // 12.05.2008 / 10:34

Здравствуйте, Сергей.

Необходимые классы и функции для работы с файлами лежак в пространстве имен System.IO. Также Вам могут понадобиться классы для работы с регулярными выражениями, которые лежат в пространстве имен System.Text.RegularExpressions.
Что касается импорта файлов, то данные можно взять прямо из потока FileUpload.PostedFile.InputStream, передать их в StreamReader и обработать при помощи регулярных выражений.

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000947: Секундомер

Автор вопроса: Александр // 08.05.2008 / 17:40

Добрый день!
Как сделать секундомер на сайте kbyte.ru много но вот все они выдают результат как 345сек, а мне надо 1:45:01 то есть в временом формате. Как сделать???

.....

Отвечает: Алексей Немиро // 09.05.2008 / 08:29

Здравствуйте, Александр.

Зная, что в минуте 60 секунд, в часе 60 минут, а в сутках 24 часа, можно легко превратить 345 секунд в нужный формат.
001:
002:
003:
004:
005:
006:
007:
008:
009:
Dim sec As Integer
sec = 345
Dim ssec As Integer, min As Integer, hour As Integer
If sec > 59 Then
 min = Int(sec / 60)
 ssec = sec Mod 60
End If
If min > 59 Then hour = Int(min / 60)
MsgBox sec & " сек. = " & hour & " ч. " & min & " мин. " & ssec & " сек."



--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000937: DLOOKUP??

Автор вопроса: Алексей // 05.05.2008 / 16:37

Почему те поля формы, которые имеют в ControlSource функцию Dlookup не записывают значение полей в конечную таблицу?

--------------------------------------
Категория: --- MS Access

Отвечает: Алексей Немиро // 06.05.2008 / 05:24

Здравствуйте, Алексей.

Из справки MS Access: Функция Dlookup
При использовании этой функции не учитываются
несохраненные изменения записей подмножества. Если функция
DLookup должна использовать измененные значения, необходимо сначала сохранить
изменения с помощью команды Сохранить запись в меню
Записи, с помощью перемещения фокуса на другую запись или
метода Update.


--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 


Чтобы задать Ваш вопрос, отправьте его на адрес expert@kbyte.ru

Раздел Эксперт на сайте Kbyte.Ru

Наверх

 

 

Последнее на форумах

*.exe запускает другой *.exe | Автор: towayy
Добавлено: 12.08.2009 / 19:44 | ответов: 9 | просмотров: 172

Visual Basic 6.0
Я не очень силён в WIN API но полагаю без него не обойдётся.

Помогите пожалуйста с кодом.
Как написать программу которая делала бы следующее:
Запускала из моего *.exe совсем другой *.exe фаил.
Ну пример:
Есть моя программа с названием project1.exe
+
есть программа уже кем то созданная ну например игра saper.exe
как зделать так что бы запустив двойным кликом project1.exe произошло обращение в машине и открылся за ним следом saper.exe?

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: GAV_Alexey
Добавлено:12.08.2009 / 21:28
001:
002:
003:
004:
005:
Set FSO = CreateObject("Scripting.FileSystemObject")
  Shell """Полный путь""", vbNormalFocus
Unload Me

Colorized by: Eros.CodeSyntaxColor Engine

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: GAV_Alexey
Добавлено:12.08.2009 / 21:43
Тебе нужна только средняя строка

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: towayy
Добавлено:12.08.2009 / 23:49
Спасибо всё работает.
Что то я совсем видимо с WIn API сегодня перегрелся напроч. Как я так забыл о Shell ("") не раз её для приколов использовал =)

Ещё вопрос дабы не разводить лишние посты. Подскажите что мне нужно знать что бы начинать уже заниматься изучением WIN API ?
Я скачал учебник автора DAN APPLEMAN . 1000 с лишним страница посвящёных исключительно WIN API (Может мне нужно в VB 6 в начальный этап к какойто теме вернуться и нормально её подтянуть?) незнаю. Но к какой?
По правде говоря на странице 59 у меня реально пошёл перегрев головы. Это прям какойто заворот мозгов.
Понял что мне ещё видимо рано на него суваться..
подскажите какой фундамент из VISUAL BASIC мне нужно под себя заложить что бы я смог уже чтото там понимать?
Какето объявленипия всё идут и идут . Функций тьма применяется уже в начале учебника.
Думал там коды будут для новичков хоть поменьше и со временем нарастать будут. Так нет там уже чутьли не на первых страницах коды минимум по 20 строчек.
Амперсандов (&)натыкана куча. Что делают зачем они там. Половины операторов просто не расписано ка что работает. Какая та левая тиория о том что API это мощь и так далее.
Но так хочется его познать . Хочу освоить работу с мышью .

Каждый из вас у кого предки не программисты, каждый кто когда либо играл роль самоучки, а не учился в университетах и так далее, проходил через этот геморой. Дайте совет с чего начать.
основы Visual BAsic 6.0 я знаю не плохо.
расчитываю на ваш дельный совет
заранее спасибо

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Алексей
Добавлено:13.08.2009 / 05:07
Амперсандов (&)натыкана куча. Что делают зачем они там.

В таком виде:
var& - это переменная var типа Long:
Dim var& аналогично Dim var As Long
Соответственно: $ - As String, % - As Integer, ! - As Single, # - As Double, @ - As Currency.
Вроде ничего не забыл :)

основы Visual BAsic 6.0 я знаю не плохо

Все что выше, это вроде как основы ;-)

расчитываю на ваш дельный совет

.NET ;-)
Или Си, но не VB 6.0, он немного для других вещей создан, остальное - извращенье.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: towayy
Добавлено:13.08.2009 / 12:35
vb.net Если его буду изучать то и там запутаюся...

Кстате я заметиол что все расхваливают VB NET. В чём же его приемущество по сравнению с VB 6.0 ?

Слышал есть ещё какойто VB STUdio 2008 ili 2009 что то в этом духе. Неуже VB NET и его переплёвывает?

Вообще раскрою карты. Каждый кто занялся программирование, он преследует какието свои цели.
Не отрицаю и у меня таковые имеются.
Гоорю желанием импровизировать и писать ботов для браузерных игр (самых для начала наипростейших)
В лепёшку разбиваюсь но в этих книгах как дохожу до какого нибудь интерестного момента и всё клин =)

Ну а по поводу VB NET я бы всё же хоте ответ услышать как можно подробнее =)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 6 | Автор: Алексей
Добавлено:13.08.2009 / 13:03
В VB .NET истинно объектно-ориентированное программирование, после
него и в VB 6.0 код становится заметно лучше, несмотря на то, что в
шестерке возможности значительно ограничены. Вообще, в шестерке в этом плане
(ООП) откровенный геморр. Пока не потрогаешь руками не поймешь, что это такое :)
API если и требуется, то процентов на 5-10%, ибо все что нужно есть в .NET Framework.
Ну и программировать можно под все, что угодно, переучиваться не
нужно, отличия минимальны.
VB STUdio 2008 ili 2009

Visual Basic Studio 2008 или 2009? :-))

Visual Studio сейчас есть 2010-beta, под четвертый фреймворк
http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx

Каждый кто занялся программирование, он преследует какието свои цели.

Помню, я занялся программированием, чтобы писать игры :)))
Сначала на китайской клавиатуре Dendy писал, в китайском G-BASIC, потом перебрался на ПК в VB 6.0,
ничего толком не написал, хотя 2D-движки получались неплохие, но довольно
сырые, я их даже так и не публиковал нигде ни разу :)

ботов для браузерных игр

Думаю тут можно компонентом WebBrowser обойтись, хотя если
поковыряться и JavaScript в этих играх не страшный, то можно и руками
все сделать, - в шестерке через соккеты.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 7 | Автор: towayy
Добавлено:13.08.2009 / 15:34
Алексей родился ряд вопросов после последнего твоего ответа:
1- что такое (ОПП) ?
2- Лично ты на своё усмотрение какую бы документацию мне предложил почитать о WebBrowser и WinSock
(у меня есть книжки но какие то они тухловатые, помоему самое большое руководство у меня есть только для WINAPI, а всё остальное марк пятидесяти строничный)
Наверное здесь на форуме у вас есть уже разделы в которых опубликованые различного рода матерьялы (учебники) не буду искать. Хотелось бы что бы ты на своё усмотрение посоветовал что взять?
Ну автора название, хотя я бы был рад за URL

заранее спасибо

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 8 | Автор: Алексей
Добавлено:13.08.2009 / 15:44
ОПП

видимо, Общество Поющих Программистов :)
А ООП - Объектно-ориентированное программирование:
wiki:
Объе?ктно-ориенти?рованное программи?рование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием, — прототипов).
Класс — это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления. Понятие «объект» подразумевает нечто, что обладает определённым поведением и способом представления. Говорят, что объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности, т.н. объекта.
Объект — сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции (и линковки) исходного кода на выполнение).
Прототип — это объект-образец, по образу и подобию которого создаются другие объекты.

2- Лично ты на своё усмотрение какую бы

хз, уже сто лет VB 6.0 не трогал, Google наверное самый надежный
источник информации:
http://www.google.com/search?hl=ru&rls=ru&hs=0RE&q=webbrowser+%2Bvb+6.0&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 9 | Автор: towayy
Добавлено:13.08.2009 / 20:24
что то я не пойму как мне webrowser помочь сможет.
Я так понимаю он нужен что ли смоделировать модель всей браузерной игры на своей форме ?
Разве можно только им обойти? Даже не представляю схему. Разве у него столько функций полезных что бы его так жёстко раскрутить?

А на счёт WinSock.
Я так понимаю придётся как то ещё до кучи и JAVA Script изучать? И потом колдовать над выбраными с сервера кусками кода и обрабатывать их через WinSock ?

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


cookies | Автор: Chel
Добавлено: 11.08.2009 / 11:20 | ответов: 8 | просмотров: 151

Подскажите плиз как на ASP VBScript прочитать куки из файла и вывести их значение на сайт
вот код который я написал
<%@ language="VBScript" %>
<html>
<head>
<title></title>
</head>
<body>
<% if Request("content_length")=0 Then %>

<form name="frm" method="post" action="скрипт.asp">
<INPUT type="text" name="M">
<input type=submit name="B" value="Submit Form">
</form>
<% Else %>
<% C=(Request.Form("M"))
Response.Write ("привет:" & C)
Response.Write Request.Cookies("TimeVisited")
Response.Cookies("TimeVisited") = Now
Response.Cookies("TimeVisited").Expires= Now()+15
%>
<% End If %>
</body>
</html>
куки уже записанны на комп. Помогите плиз.

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:11.08.2009 / 13:20
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
'отправить куки
Response.Cookies("mysite").Expires = DateAdd("yyyy", 1, Date)
Response.Cookies("mysite")("login") = "медвед"
Response.Cookies("mysite")("password") = "превед"

'прочитать куки
Response.Write("Логин: " & Request.Cookies("mysite")("login"))
Response.Write("<br />Пароль: " & Request.Cookies("mysite")("password"))

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Chel
Добавлено:11.08.2009 / 21:24
Алексей пасибо тебе за ответ.
Но у меня есть еще вопрос
вот например когда код такой, то куки у меня показывают на сайте и записываются на компе, а если поменять местами строки
Response.Cookies("TimeVisited")=now и Response.Write Request.Cookies("TimeVisited") то значение куков должно считываться с компа и тоже выводиться на сайт да. Помоги плиз разобраться
<%@ language="VBScript" %>
<html>
<head>
<title></title>
</head>
<body>
<% if Request("content_length")=0 Then %>

<form name="frm" method="post" action="скрипт.asp">
<INPUT type="text" name="M">
<input type=submit name="B" value="Submit Form">
</form>
<% Else %>
<% C=(Request.Form("M"))
Response.Write ("привет:" & C)
Response.Cookies("TimeVisited") = Now
Response.Write Request.Cookies("TimeVisited")
Response.Cookies("TimeVisited").Expires= Now()+15
%>
<% End If %>
</body>
</html>

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алексей
Добавлено:12.08.2009 / 04:42
Response.Cookies("TimeVisited")=now

Response.Cookies("blablabla")("TimeVisited") = Now

Request.Cookies("TimeVisited")

Request.Cookies("blablabla")("TimeVisited")

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Chel
Добавлено:12.08.2009 / 15:27
Алексей извини меня пожалуйста то что задаю такие вопросы. Помоги плиз.
Вот когда код такой вот то у меня все записывается и на сайт значение куков выводится но если я меняю вот эту часть кода

Response.Cookies("blablabla").Expires=Now()+15
Response.Cookies("blablabla")("TimeVisited")=now
Response.Write Request.Cookies("blablabla")("TimeVisited")
на вот эту
Response.Write Request.Cookies("blablabla")("TimeVisited")
Response.Cookies("blablabla").Expires=Now()+15
Response.Cookies("blablabla")("TimeVisited")=now
то у меня значение куков которые записанны на компе не выводятся на сайт.
Как мне сделать что бы куки значение куков записанных на компе выводились на сайт
<%@ language="VBScript" %>
<html>
<head>
<title></title>
</head>
<body>
<% if Request("content_length")=0 Then %>

<form name="frm" method="post" action="скрипт.asp">
<INPUT type="text" name="M">
<input type=submit name="B" value="Submit Form">
</form>
<% Else %>
<% C=(Request.Form("M"))
Response.Write ("привет:" & C)
Response.Cookies("blablabla").Expires=Now()+15
Response.Cookies("blablabla")("TimeVisited")=now
Response.Write Request.Cookies("blablabla")("TimeVisited")
%>
<% End If %>
</body>
</html>

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Алексей
Добавлено:13.08.2009 / 04:58
Если куки на машине клиента есть, то их можно будет получить и вывести.
Если вы хотите записать куки и тут же и вывести, то скорей всего так не получится, т.к. куки от клиента поступают в момент запроса и доступа к новым кукам нет, он появится при следующем запросе. Используйте промежуточную переменную:
001:
002:
003:
004:
005:
006:
tv = Request.Cookies("blablabla")("TimeVisited")
Response.Cookies("blablabla").Expires=DateAdd("Y", 15, Now)
Response.Cookies("blablabla")("TimeVisited")=tv
Response.Write tv

Colorized by: Eros.CodeSyntaxColor Engine


ps: да, русские символы в названии файлов страниц лучше не использовать ;)
Now+15 тоже не красиво и "граблисто".

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 6 | Автор: Chel
Добавлено:13.08.2009 / 12:08
а мне надо как раз получить куки которые на машине клиента и вывести их на сайт

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 7 | Автор: Chel
Добавлено:13.08.2009 / 12:39
мне просто надо сначала старые куки прочитать и вывести их на сайт а потом новые записать

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 8 | Автор: Алексей
Добавлено:13.08.2009 / 13:10
указанный в ответе #4 код должен работать, если конечно условие if Request("content_length")=0 Then ... Else ... выполнится и куки не отключены в браузере клиента.
001:
002:
003:
004:
005:
006:
007:
'читаем куки
Response.Write Request.Cookies("blablabla")("TimeVisited")
'пишем куки
Response.Cookies("blablabla")("TimeVisited") = Now
Response.Cookies("blablabla").Expires=DateAdd("Y", 15, Now)

Colorized by: Eros.CodeSyntaxColor Engine

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Возвращение в прошлое | Автор: Алексей
Добавлено: 07.08.2009 / 03:27 | ответов: 0 | просмотров: 42

Пару дней назад упал SQL Server, видимо что-то серьезное, подробности не известны.
База восстановлена из бэкапа. Некоторые сообщения с форума, появившиеся за последние пару недель, к сожалению, канули в Лету.

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Авторизация при помощи HttpWebRequest | Автор: Lufton
Добавлено: 24.07.2009 / 14:21 | ответов: 9 | просмотров: 210

Здравствуйте дорогие знатоки! У меня проблема, я только недавно начал в программировании применять HttpWebRequest и HttpWebResponse и у меня возникли сложности.
Я хочу написать программу для авторизации на файлообменниках таких как depositfiles.com, letitbit.net, vip-file.com, для того чтобы потом со страницы вытащить все ссылки на файлы. Задачу конечно можно решить простым использованием Webbrowser, но это лишняя загрузка картинок, выполнение скриптов и вообще геморрой. А вот если запросами орудовать, то это должно быть гораздо проще.
Я отследил какие параметры передаёт к примеру сайт depositfiles.com. Перед этим я зашёл на страницу авторизации и удалил все куки. Авторизируюсь на сайте. Первый запрос выглядит так:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
http://depositfiles.com/ru/login.php?return=%2Fru%2F

POST /ru/login.php?return=%2Fru%2F HTTP/1.1
Host: depositfiles.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://depositfiles.com/ru/
Content-Type: application/x-www-form-urlencoded
Content-Length: 41
go=1&login=MyNameVasiliy&password=*******
HTTP/1.x 200 OK
Server: nginx
Date: Thu, 23 Jul 2009 12:48:00 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Set-Cookie: uprand=e61afa903586497a50cd3be4f6b72975; path=/; domain=.depositfiles.com
Set-Cookie: autologin=7491b86b4576e470bf2bc5d3fb05c574; expires=Fri, 23-Jul-2010 12:48:00 GMT; path=/; domain=.depositfiles.com
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip


Пытаюсь повторить вручную вот так:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
.Method = "POST"
      .AllowAutoRedirect = False
      .UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)"
      .Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
      .Headers.Add(HttpRequestHeader.AcceptLanguage, "ru,en-us;q=0.7,en;q=0.3")
      .Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate")
      .Headers.Add(HttpRequestHeader.AcceptCharset, "windows-1251,utf-8;q=0.7,*;q=0.7")
      .Headers.Add(HttpRequestHeader.KeepAlive, "300")
      .KeepAlive = "True"
      .Referer = "http://depositfiles.com/ru/"
      .ContentType = "application/x-www-form-urlencoded"
      Dim ByteArr As Byte() = System.Text.Encoding.GetEncoding(1251).GetBytes("go=1&login=MyNameVasiliy&password=*******")
      .ContentLength = ByteArr.Length
      .GetRequestStream().Write(ByteArr, 0, ByteArr.Length)
      WRES = .GetResponse()
      Dim sCookies As String = ""
      If Not String.IsNullOrEmpty(WRES.Headers("Set-Cookie")) Then
        sCookies = New Regex("(\,)([\w\d])").Replace(WRES.Headers("Set-Cookie"), ";$2")
        sCookies = New Regex("((expires)|(path)|(domain))=([^\;]*)((;)|(\n?))").Replace(sCookies, "")
      End If

Colorized by: Eros.CodeSyntaxColor Engine


В итоге, во время отладки получаю результат:
New IO.StreamReader(WRES.GetResponseStream()).ReadToEnd() "&#65533;" String

Объясните пожалуйста, как мне правильно авторизироваться?

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:24.07.2009 / 15:23
New IO.StreamReader(WRES.GetResponseStream()).ReadToEnd() "&#65533;" String

Возможно проблема в Content-Encoding: gzip.

На депозид достаточно передать заголовки:
HttpRequestHeader.Accept = text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1")
HttpRequestHeader.AcceptLanguage = ru-RU,ru;q=0.9,en;q=0.8

Content-Type разный, в зависимости от страницы и типа действия.
При авторизации application/x-www-form-urlencoded
При отправке файла multipart/form-data

У депозида[url] есть [url=http://depositfiles.com/ru/uploader.html]программа, для загрузки файлов, проще проанализировать
и повторить её запросы через проксик, например Fiddler

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Lufton
Добавлено:24.07.2009 / 16:12
Я как раз это и сделал, воспользовался программой HTTPLook.
Первый запрос как оказалось программа-закачивальщик делает на главную страницу то есть на http://depositfiles.com/:
001:
002:
003:
004:
005:
GET / HTTP/1.1
Host: depositfiles.com
Accept: text/html, */*
Accept-Encoding: identity
User-Agent: Mozilla/3.0 (compatible; Indy Library)

Ответ выглядит так:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Fri, 24 Jul 2009 11:22:31 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Set-Cookie: uprand=d52f5fd04dcbf1b91b02cc94413d7bcd; path=/; domain=.depositfiles.com
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: /ru/

Здесь устанавливаются первые куки, их я получил... и это единственное место в логе где стоит редирект, посему я установил значение AllowAutoRedirect = False
Сразу походу вопрос, для кук не нужно устанавливать значение Expires?
Далее делаем редирект на http://depositfiles.com/ru/
Вот так выглядит заголовок запроса:
001:
002:
003:
004:
005:
GET /ru/ HTTP/1.1
Host: depositfiles.com
Accept: text/html, */*
Accept-Encoding: identity
User-Agent: Mozilla/3.0 (compatible; Indy Library)

В ответе нет редиректа поэтому я не устанавливал ограничение на автоматический редирект.
Ответ был таким:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 24 Jul 2009 11:22:32 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Set-Cookie: uprand=43872757202fc72805a61862751a9175; path=/; domain=.depositfiles.com
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

Здесь почему-то устанавливаются новые значения кук. И странность которую я заметил, почему-то дата Expires установлена не просто так, скорее всего это чей-то денрик )
Здесь я тоже выхватил куки.
Далее самое интересное, собственно авторизация, POST запрос на http://depositfiles.com/ru/login.php - всё это из ХТТПЛук"а.
Запрос выглядит так:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
POST /ru/login.php HTTP/1.0
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 41
Host: depositfiles.com
Accept: text/html, */*
Accept-Encoding: identity
User-Agent: Mozilla/3.0 (compatible; Indy Library)

go=1&login=MyNameVasiliy&password=*******

Вместо звёздочек - пароль. Передача собственно данных происходит в строке go=1&login=MyNameVasiliy&password=*******, это я понял.
Вопрос вот в чём: данные отделены пустой строкой, как мне это реализовать, я пробовал вот так:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
.Method = "POST"
      .KeepAlive = True
      Dim BA As Byte() = System.Text.Encoding.Default.GetBytes("go=1&login=MyNameVasiliy&password=*******")
      .ContentLength = BA.Length
      .Accept = "text/html, */*"
      .Headers.Add(HttpRequestHeader.AcceptEncoding, "identity")
      .UserAgent = "Mozilla/3.0 (compatible; Indy Library)"
      .GetRequestStream().Write(BA, 0, BA.Length)
      WRES = .GetResponse()

Colorized by: Eros.CodeSyntaxColor Engine

Но! В строке .GetRequestStream().Write(BA, 0, BA.Length) получил зависон программы. Никакой реакции.
Может нужно сделать так:
001:
Dim BA As Byte() = System.Text.Encoding.Default.GetBytes(vbNewLine & "go=1&login=MyNameVasiliy&password=*******")

Или даже два раза vbNewLine?

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алексей
Добавлено:25.07.2009 / 03:04
Первый запрос как оказалось программа-закачивальщик делает на главную страницу

Верно, там Session и определяется язык клиента.

Далее делаем редирект на http://depositfiles.com/ru/

Сразу нужно идти по этому URL, на главную страницу ходить не обязательно.

Здесь почему-то устанавливаются новые значения кук

GET /ru/ HTTP/1.1
Host: depositfiles.com
Accept: text/html, */*
Accept-Encoding: identity
User-Agent: Mozilla/3.0 (compatible; Indy Library)

Не вижу, чтобы куки передавались в запросе.

Вместо звёздочек - пароль. Передача собственно данных происходит в строке go=1&login=MyNameVasiliy&password=*******, это я понял.

Не вижу Content-Type: application/x-www-form-urlencoded

Вопрос вот в чём: данные отделены пустой строкой, как мне это реализовать, я пробовал вот так:

А вы свои запросы в проксике смотрели? :)
001:
002:
003:
myRequest.Proxy = New WebProxy("127.0.0.1", 8888)

Colorized by: Eros.CodeSyntaxColor Engine

Смотрите, сравнивайте.
Dim BA As Byte() = System.Text.Encoding.Default.GetBytes("go=1&login=MyNameVasiliy&password=*******")

Значения параметров лучше через функцию HttpUtility.UrlEncode() пропускать.
001:
002:
003:
String.Format("go=1&login={0}&password={1}", HttpUtility.UrlEncode("login"), HttpUtility.UrlEncode("password"))

Colorized by: Eros.CodeSyntaxColor Engine


Может нужно сделать так

нет, все что нужно сделается само.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Lufton
Добавлено:25.07.2009 / 11:32
Вопрос вот в чём: данные отделены пустой строкой, как мне это реализовать, я пробовал вот так:

А вы свои запросы в проксике смотрели? :)
001:
002:
003:
myRequest.Proxy = New WebProxy("127.0.0.1", 8888)

Colorized by: Eros.CodeSyntaxColor Engine

Я так понимаю должен быть установлен локальный проксик, каким лучше воспользоваться?

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Алексей
Добавлено:25.07.2009 / 11:35
Я уже говорил в ответе #1: Fiddler

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 6 | Автор: Lufton
Добавлено:25.07.2009 / 11:38
Не вижу, чтобы куки передавались в запросе.

Я тоже не вижу, но они же потом нужны будут наверное.
Не вижу Content-Type: application/x-www-form-urlencoded

Этого сказать не могу, я пользовался HTTPLook и он мне вернул именно такой запрос. Но я попробую сделать как вы советуете.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 7 | Автор: Lufton
Добавлено:25.07.2009 / 11:48
Значения параметров лучше через функцию HttpUtility.UrlEncode() пропускать.

Не знаю, не знаю. Юзаю 2009 студию и такого класса не нашёл.
Пробовал
001:
002:
003:
Imports.System.Web

Colorized by: Eros.CodeSyntaxColor Engine

Но такого класса там нет.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 8 | Автор: Алексей
Добавлено:25.07.2009 / 11:52
Нужно System.Web.dll подключить к проекту:
меню Project -> Add reference

И все будет.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 9 | Автор: Lufton
Добавлено:25.07.2009 / 23:20
Хорошо, у меня уже многое что получилось, теперь ещё бы узнать как можно авторизироваться на rapidshare.com? Там используется SSL.
Что я уже определил:
- при авторизации всего навсего сохраняется одна кука
- при логауте эта кука удаляется
- в логах Fiddler-а ничего толкового не смог найти
- сам я не разберусь

Прошу помощи.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Проблема с HDD | Автор: Dragon-zla
Добавлено: 22.07.2009 / 19:57 | ответов: 5 | просмотров: 139

Есть проблема с одним винтом - он не определяется компьютером, при этом издает звук, похожий на звук кардиографа. Никто не не знает есть способ его реанимировать или стоит его отдать на металлолом?

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:23.07.2009 / 16:55
похожий на звук кардиографа.

Звуки винтов можно послушать тут: http://biosnew.ru/sound.html

его отдать на металлолом

Лучше попытаться отдать его в ремонт.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Dragon-zla
Добавлено:24.07.2009 / 14:01
Seagate Barracuda на 120 гигов, звук похожий на тот, который издает кардиограф при не работающем сердце - пи, пи, пи. :)
Где вы сказали, похожего звука нет. :(

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алексей
Добавлено:24.07.2009 / 14:48
Пи-пи - это что-то странное.
Может он скрипит? Физически износился и склеил ласты.
Или это вообще не он.
Может питания ему не хватает, можно попробовать все ненужные дивайсы
по-отключать.. А до этого он как себя вел?

Мой первый баракуда на 320 гигов тоже издавал странные звуки,
похожие на пиликанье роботов из темы Windows, довольно прикольно :)
Поменял его на аналогичную модель, вроде больше не пиликает, но серия
все равно косячная, периодически постукивает. Где-то видел патчи на
винты, но ставить не приходилось.

Баракуда на 120 гигов тоже где-то валяется, года три назад у
него стали появляться беды, я не стал его мучить и отправил на покой.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Dragon-zla
Добавлено:25.07.2009 / 18:31
Да он вообще то не мой. Отдали со словами: "починишь - забирай себе, не починишь выкидывай на фиг".
У прежних хозяев винта трагикомедия с ним была. Стоило его подключить к компу, как он (компьютер), вообще не включался.
При этом ему вообще было как его подключили хоть мастером, хоть слейвом.

Я рисковать не стал, через внешний бокс его воткнул, вот из бокса такие звуки и идут (бокс тут не причем - остальные жесткие,
будучи включенными через него никаких посторонних звуков не издают).
На компе валяется прога, диагностирующая винт, но для её работы надо, чтобы диск определялся в БИОСе, а именно это и не происходит.
Его вообще в системе не видно :(

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Алексей
Добавлено:26.07.2009 / 05:04
http://www.techmaniacs.net/repairs_lab/843/

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Наверх

 

Последние статьи

Нестандартная форма
Автор: Zhenik Ipatov | добавлено: 05.05.2008 / 12:42 | просмотров: 3058

Первое что бросается в глаза, когда первый раз используешь программу это конечно же её облик, внешний вид. Есть вероятность что если пользователю не понравится внешний вид окна, то он не будет пользоваться продуктом. Значит нам, не побоюсь этого слова, программистам нужно как можно лучше, удобнее, понятнее, красивее и приветливее сделать лицо программы. Нужно как можно эффектнее преподнести программу. С самого первого появления Windows окна получили прямоугольный стандарт и все User Control’ы

Как узнать размер базы данных MySQL через php
Автор: Николай Рудченко | добавлено: 14.02.2008 / 13:01 | просмотров: 3541

В этой небольшой статье вы узнаете, как получить размер вашей базы данных (БД) MySQL используя язык программирования PHP.

Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)
Автор: Немиро Алексей | добавлено: 27.07.2007 / 14:01 | просмотров: 10512

В данной статье речь пойдет о том, как можно программно заполнить и отправить Web-форму, а также получить результат с использованием довольно простых классов - HttpWebRequest и HttpWebResponse.

Работа с SQL – Запросы
Автор: Хабибулин А. (aka Bille Gates) | добавлено: 22.07.2007 / 04:43 | просмотров: 27787

В данной статье рассмотрены часто используемые SQL-запросы и приведены примеры их использования.

Использование XML.Serialization
Автор: Немиро Алексей | добавлено: 19.07.2007 / 15:38 | просмотров: 5695

В данном обзоре речь пойдет об использование XML.Serialization в .NET и ее применении на примере сохранения и считывания настроек программы с использованием синтаксиса языка Visual Basic .NET.

 

Статьи на Kbyte.Ru

Наверх

 

Интересные коды и решения

Как динамически добавить элемент управления?
Дата добавления: 17.08.2006 / 17:02 | просмотров: 3032 | платформа: ASP .NET (VB)

Преобразование числа в Украинскую валюту
Дата добавления: 16.08.2006 / 19:30 | просмотров: 2703 | платформа: VB

Как преобразовать десятичное число в шестнадцатеричное?
Дата добавления: 16.08.2006 / 20:25 | просмотров: 3387 | платформа: VB

Проверка существования директории
Дата добавления: 31.07.2006 / 12:41 | просмотров: 4935 | платформа: VB

Получение данных из куков (Cookies)
Дата добавления: 31.07.2006 / 15:55 | просмотров: 2670 | платформа: ASP .NET (VB)

Запись куков (Cookies)
Дата добавления: 01.08.2006 / 12:00 | просмотров: 2981 | платформа: ASP

Как узнать, отправлялись данные форме или нет?
Дата добавления: 31.07.2006 / 14:23 | просмотров: 2769 | платформа: ASP .NET (VB)

Воспроизведение звукового файла #1
Дата добавления: 31.07.2006 / 12:53 | просмотров: 2915 | платформа: VB

Как поменять стиль у всех контролов на форме (Form)?
Дата добавления: 24.03.2007 / 11:59 | просмотров: 2152 | платформа: VB .NET

Удаление куков (Cookies)
Дата добавления: 01.08.2006 / 12:04 | просмотров: 2865 | платформа: ASP

 

Универсальные коды на Kbyte.Ru

Наверх

 

Юмор на Kbyte.Ru

Вчера астрономы "разжаловали" Плутон. Жители бывшей планеты обещают направить жалобу в Страсбургский суд.

 

Рейтинг: 597
Всего голосов: 949
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Хакер приходит к специалисту по паранормальным явлениям:
- Доктор, помогите мне! У меня дома такое творится. Диски по комнате летают, сами в компьютер ставятся и Windows устанавливают!
- У-у! Батенька, да у вас полтерГейтс!

 

Рейтинг: 568
Всего голосов: 909
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- Как вы поняли, что это лев - людоед?
- Да взгляд у него, как у моей жены.

 

Рейтинг: 355
Всего голосов: 600
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- Это безобразие! Ваша собака все ночь выла под моим окном!
- Не огорчайтесь. Она выспится днем.

 

Рейтинг: 824
Всего голосов: 1204
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Самый трудный год в семейной жизни - это текущий.

 

Рейтинг: 1578
Всего голосов: 2338
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- Простите, я задавил вашу кошку. Готов заплатить, или
заменить.
- Хмм... Заменить, говорите? А мышей ловить умеете?

 

Рейтинг: 823
Всего голосов: 1189
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- У меня чёрный пояс по карате!
- А у меня жёлтая резинка от трусов по плаванию!

 

Рейтинг: 586
Всего голосов: 869
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Встречаются русский, американец и француз. Француз докладывает: - Мы провели раскопки во Франции и на глубине 10 метров в земле обнаружили куски стекла. Значит, 10 тысяч лет назад на территории Франции действовала сеть оптоволоконной связи. Американец говорит: - Мы провели раскопки и на глубине 50 метров обнаружили медь. Это означает, что 50 тысяч лет назад на территории Америки действовала сеть проводной связи. Наконец, выступает русский: - Мы тоже провели раскопки, и на глубине 100 метров мы ничего не нашли. Значит, 100 тысяч лет назад на территории России действовала сеть сотовой связи!

 

Рейтинг: 642
Всего голосов: 995
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Беседуют два программиста.
- Чем программист отличается от обычного смертного?
- А тем, что в состоянии ответить на вопрос, в котором уже заключен ответ.
- Это как же?
- Ну, например, ответь на вопрос: сколько будет 2х2=4?
- Естественно TRUE!

 

Рейтинг: 582
Всего голосов: 884
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Скупой платит дважды. Поехал поездом Кишинев-Владивосток. Решил на авиабилете сэкономить, придурок. Два месяца потом от белой горячки лечился.

 

Рейтинг: 615
Всего голосов: 963
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Весь юмор на Kbyte.Ru

Наверх


Выпуск подготовил: R-KDR-19826

Редактор: Немиро Алексей

Copyright (c) Nemiro AS, 2005-2007


В избранное