Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Вставка картинки (на Стенку вКонтакте)


Автор: Natapro 1.11.2009, 21:01
Всем Известа думаю программка для контакта ВК.Пейнт, а если нет то она собой програмку которая вставляет на стенку контакта картинку...
Хотелось такую возможность и себе б взять, вот села разбирать скрипт
1) сам скрипт Стенки (вродь лишнее всё позабирала)

 
  
Код

  <a name="wallAdded"></a>
  <div id="wall" class="flexOpen">
   <div class="bOpen">
    <div class="flexHeader clearFix" onclick="return collapseBox('wall', this, 0.5, 0.25, false)" onfocus="blur()">
     <div><h2>Стена <span>(1 запись)</span></h2></div>
     <div class="flexEdit" >
      <a href="/wall.php" onclick="event.cancelBubble = true; " title="">редактировать</a>
     </div>
     <img id="progr2" style="float:right; display:none; margin-top:3px" src="/images/upload.gif">
    </div>
   </div>
   <div class="c" >
    <div class="fSub clearFix">
     <h3>
      <div style="float: left;">
       единственная запись
      </div>
      <div style="float: right;" >
       <a href="javascript: show_quick_reply()">Написать</a><span class="divide">|</span><a href="javascript: if (ge('wRaquo').innerHTML == '&raquo;') {ge('wRaquo').innerHTML = '&laquo;'} else {ge('wRaquo').innerHTML = '&raquo;'}; shide('moreWall'); ">Все функции <span id='wRaquo'>&raquo;</span></a>
      </div>
     </h3>
    </div>
      <div id='moreWall' style='display:none'><a class='wallFunc' href='/graffiti.php?act=draw&to_id=45767935'>Граффити</a><a class='wallFunc' href='/photos.php?to_id=45767935'>Фото</a><a class='wallFunc' href='/video.php?to_id=45767935'>Видео</a><a class='wallFunc' href='/audio.php?to_id=45767935'>Аудио</a></div>
    <script type="text/javascript">
function show_quick_reply() {
  quickReply('quickReply', 0.55, 0.40, 1); ge('reply_field').value = '';
}

function checkLinks() {if (isGroup && !linksAllowed && hasLinks(ge('reply_field').value)) {alert('Владелец стены запретил использование ссылок.'); return false; } else {return true;}} 
var posting_on_wall = false;
function postIt() {
  if (posting_on_wall) {
    return;
  }
  var txt = ge('reply_field').value;
  if (!trim(txt).length) {
    ge('reply_field').focus();
    return;
  }
  posting_on_wall = true;
  page = page + 1;
  hide('msg', 'dld'); 
  show('progr2');
  setTimeout('ge("progr2").src = "images/upload.gif"', 200);
  var params = {act: 'get10', wall_hash: 'eab87ad1fa58f6d6078420cc72499f89', wpage: 100000, seed: txt, fpage: page, mid: ge('to_id').value, n: 3};
  var callback = function(obj, text) {
    posting_on_wall = false;
    hide('r', 'progr2');
    show('msg');
    ge('fBox2').innerHTML = parseResponse(text);
  }
  var stop = function(obj, text) {
    hide('progr2');
    ge('reply_field').focus();
    posting_on_wall = false;
  }
  var options = {onSuccess: callback, onFail: stop, onCaptchaShow: stop, onCaptchaHide: stop};
  Ajax.postWithCaptcha('wall.php', params, options);
}
</script>
    <div id="quickReply">
     <div id="r" class="r" style="display:none">
      <div style="padding: 5px 12px">
       <form method="POST" action="wall.php" name="postMessage" id="postMessage">
        <input type="hidden" id="to_id" name="to_id" value="457679358028"/>
        <input type="hidden" id="act" name="act" value="sent"/>
        <textarea onkeyup="utils.checkTextLength(4096, this.value, ge('textWarn'))" id="reply_field" name="message" style="width:360px; height:80px" onKeyPress="if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {if (checkLinks()) {postIt()}}"></textarea>
       </form>
        <div id="textWarn" style="color:#666666;margin:5px 0px;display:none;width:280px;float:left"></div>
        <div style="height:1.3em; height:25px;">
        <div id = "br" style="text-align:right">
        <ul class='nNav' style='float: right'>
          <li style="margin-top: 3px; margin-right: 4px">
            <b class="nc"><b class="nc1"><b></b></b><b class="nc2"><b></b></b></b>
            <span class="ncc"><a id="postIt" title="Ctrl+Enter" href="javascript: postIt()" onclick="return checkLinks()">Отправить</a></span>
            <b class="nc"><b class="nc2"><b></b></b><b class="nc1"><b></b></b></b>
          </li>
        </ul>
        <!--ul class="buttonRow" style="float:right;" class="clearFix">
         <li style="width:6.4em;"><a style="width:5.4em;" title="Ctrl+Enter" onclick="return checkLinks();" id="postIt" href="javascript: postIt()">Отправить</a></li>
        </ul-->
        </div>
       </div>
      </div>
     </div>
    </div>
    <div id='msg' style='display:none'>Сообщение отправлено.</div>
    <div id="dld" style="display:none">Сообщение удалено.</div>
    <script for="playerWall" event="FSCommand" language="Jscript">
  if(browser.msie){
    if (arguments && arguments[1] && /^(flashDebug|stateChanged\(([^()]+)\);$)/.test(arguments[1])) {
      eval(arguments[1]);
    }
  }
</script>    <div class="flexBox clearFix" id="fBox2">
        <div id="wPostContainer67183871">
    <div id="wPostContent67183871">
     <table class="wallpost" border="0" cellspacing="0" width="100%">
      <tr>
       <td class="image">
        <a href="/id45767935">
         <img border="0" src="http://cs618.vkontakte.ru/u45767935/c_f8f21ed3.jpg">
        </a>
        <div style='color:#aaa;margin:4px 0px 0px 10px;'>Online</div>
       </td>
       <td class="info">
        <div class="header">
         <a href="/id45767935" style="font-weight: bold;">Натусик ⎷⎛Программисточка&#9 Шастун</a> <b>написала</b><br />
         <small>сегодня в 19:46</small>
        </div>
        <div class="text" id="wPost67183871" style="width: 315px; overflow: hidden;"><a class='Graffiti' href='/graffiti164935929?from_id=45767935'><img src='http://cs9412.vkontakte.ru/u45767935/m_a0d65bb4.png' width='272' height='136'/></a></div>
        <div class="actions">
         <a href="/wall.php?act=write&id=457679358028"><small>Написать на моей стене</small></a><span class="sdivide">|</span><a href="javascript: deletePost(67183871,45767935)"><small>Удалить</small></a>
        </div>
       </td>
      </tr>
     </table>
    </div>
   </div>
    </div>
   </div>
  </div>


 </div>
</div>

</div>



2) Вот поидеи нашла сам код картинки там:
Код

<div class="text" id="wPost67183871" style="width: 315px; overflow: hidden;"><a class='Graffiti' href='/graffiti164935929?from_id=45767935'><img src='http://cs9412.vkontakte.ru/u45767935/m_a0d65bb4.png' width='272' height='136'/></a></div>


и как мне произвисти вставку помогите ...

Автор: Любитель 1.11.2009, 21:30
В принципе для вставки картинки там формируется обычный png-имадж и POST-запрос на адрес, передаваемый "графити"-флешки через методы SWFObject-а (so.addVariable('postTo','http://vkontakte.ru/...'). Соответственно вам нужно определить куда отсылать картинку, сформировать POST-запрос (возможно, нужно в точности передавать все хидеры - я не проверял) и отослать его. Ну + авторизационная куку к нему прибить, конечно, же надо..

Если это будет интегрироваться в браузер (в виде тупого file-инпута и кнопки "отправить"), то с авторизацией проще.


Автор: Natapro 1.11.2009, 21:50
ого сложноватто, а можно както-примерчик...

Автор: diadiavova 2.11.2009, 14:34
Цитата(Natapro @  1.11.2009,  21:01 Найти цитируемый пост)
Всем Известа думаю программка для контакта ВК.Пейнт

Нет smile 
Вообще по сабжеу разбираться долго придётся. Пока тебе это сложновато будет. Ну хочешь позаморачиваться - почитай статью
http://www.rsdn.ru/article/inet/httpweb.xml

Натусик, что же ты свою страничку в контакте то палишь? smile

Автор: Natapro 2.11.2009, 15:54
я Люблю заморчиватсьо, для мну всё тут заморациватсо и тяжельо )) хД
ся Буду читать, но Статти кеко, а Воть если б гдетьо примерчик был мммм...  smile 
где палю ? поудаляля фсе силки фродь :(  а Имя попробуйте найдите С(-: 

Автор: diadiavova 2.11.2009, 16:01
Цитата(Natapro @  2.11.2009,  15:54 Найти цитируемый пост)
а Воть если б гдетьо примерчик был

Примерчик есть в статье. Просто разбираться долго.

Цитата(Natapro @  2.11.2009,  15:54 Найти цитируемый пост)
где палю ? поудаляля фсе силки фродь :(  а Имя попробуйте найдите С(-: 

Отправил в личку

Автор: Natapro 3.11.2009, 11:49
 smile  не разобралась :(

Автор: diadiavova 3.11.2009, 12:32
Цитата(Natapro @  3.11.2009,  11:49 Найти цитируемый пост)
 не разобралась :( 

Ну я предупредил smile 

Автор: Natapro 3.11.2009, 12:48
ага :( , :( млин а так надо єто :(

неужели некто не стикался с єтой проблемой раньше ? (с єтим вопросом :*)

Автор: diadiavova 3.11.2009, 12:52
Ну почему не сталкивался? Просто в конкретном примере долго разбираться, так что тут или брось или сама. Будут конкретные вопросы - задавай, но писать весь код целиком никто не будет. Изучай работу с сетью раз тебя так интересует именно эта сфера. Могу книгу порекомендовать если надо, но опять-таки - этоне просто и придётся попыхтеть smile .

Добавлено через 7 минут и 43 секунды
А если ты страничку грузишь в WebBrowser, то там и проблем никаких нет. Сопсно просто программно выполни все необходимые  клики, вставку адреса и всё такое. То, о чём я написал нужно в том случае, если ты хочешь имитировать работу браузера, а если с браузером, то тут всё просто.

Автор: Natapro 4.11.2009, 13:45
Цитата

А если ты страничку грузишь в WebBrowser, то там и проблем никаких нет. Сопсно просто программно выполни все необходимые  клики, вставку адреса и всё такое. То, о чём я написал нужно в том случае, если ты хочешь имитировать работу браузера, а если с браузером, то тут всё просто.

всмисле ? не поняла что-то...

Автор: diadiavova 4.11.2009, 13:47
Картинку можно просто вставить программно и всё, а можно в WebBrowser загрузить страничку, выполнить программно операции, которые обычно выполняет пользователь, и отправить.

Автор: Natapro 4.11.2009, 13:50
:( чот я запуталась, а в моём случаи что не так ? 

Автор: diadiavova 4.11.2009, 13:57
Цитата(Natapro @  4.11.2009,  13:50 Найти цитируемый пост)
а в моём случаи что не так ?

В твоём случае не так то, что ты не внимательно читаешь, что тебе пишут smile

Автор: Natapro 4.11.2009, 14:32
я ф 5 утра домой пришла.. чудо что я фобще букви разлцяю...

Автор: Natapro 4.11.2009, 16:08
еХ, и Фтьо Нет Добрих дЯдЬ или Тьоть которым скучно сидеть, и хотять мну помоц ?

Автор: diadiavova 4.11.2009, 16:13
Цитата(Natapro @  4.11.2009,  16:08 Найти цитируемый пост)
еХ, и Фтьо Нет Добрих дЯдЬ или Тьоть которым скучно сидеть, и хотять мну помоц ?

Быват smile 

Автор: Natapro 4.11.2009, 16:18
Быват  - сото не веритсо хД )) но надеитсо ))

Автор: Natapro 15.11.2009, 13:09
Ну как не кто ещё не стыкался  с подобным ?

Автор: Dobermann 15.11.2009, 15:23
Цитата(Natapro @  15.11.2009,  13:09 Найти цитируемый пост)
Ну как не кто ещё не стыкался  с подобным ? 

"Стыкался"!! Такая школота как ты уже все стены засрала этими картинками!! Новый вид спама они придумали...как же достали уже!!! 

Автор: diadiavova 15.11.2009, 15:31
Dobermann,  smile 

Автор: Natapro 15.11.2009, 15:38
Цитата

"Стыкался"!! Такая школота как ты уже все стены засрала этими картинками!! Новый вид спама они придумали...как же достали уже!!! 

ты это к кому щяс обращяешся, ко мне ?

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

Автор: Экскалупатор 15.11.2009, 15:47
Natapro, а чем не устраивает обычные, предоставленные вконтакт`ом, функции? или у тебя так много там "друзей" что ты сама, ручками, не справляешься?

Автор: Natapro 15.11.2009, 16:39
Экскалупатор  хочется вставить картинку на стенку. а не рисовать граффити, я не художница...

Автор: Экскалупатор 15.11.2009, 17:16
smile 
Natapro, оно так всегда, кто то что то сделал но того что сделал мало и надо добавить что то свое.(как говорил старина Бендер: "я построю свой лунна-парк с блекджеком и шлюхами, да и к черту парк!". я если честно не пользователь вконтакта, но ради интереса заходил посмотреть, так идея этой стены, на мой взгляд, это полный идиотизм. особенно если учесть то, что ее делает "стеной" только название. в плане дизайна это идейная импотенция. к чему я это все? да просто мне кажется не стоит заморачиваться....

Добавлено через 1 минуту
кстати, коль уж на то пошло, то это же стена, а не фотоальбом, ты где нибудь видела фотографии на заборах?

Автор: Natapro 15.11.2009, 17:43
млин ну ведь красиво когда фотография не стенку с поздравлением, а не Графити !
как думаешь ?

Автор: Экскалупатор 15.11.2009, 17:59
"красиво"??? кто тебе такое сказал?

Автор: diadiavova 15.11.2009, 18:03
Natapro, тебе, кстати, Любитель на этот счёт хорошую мысль подсказал: поищи готовые плагины для браузеров и будет тебе счастье. Естественно устанавлить софт напонятного происхождения не стоит, но на официальных сайтав браузеров обычно есть информация по известным им плагинам.

Автор: Экскалупатор 15.11.2009, 18:03
кстати, а чем не устраивает то что уже написали до тебя? на запрос в гугле куча такого софта, и очень много с открытым кодом, можно скачать переделать под свои нужды и использовать?

Автор: Natapro 15.11.2009, 18:05
сама смотрю и вижу smile ивопрос не в том красиво или нет, а в том как єто сделать ?

Автор: Экскалупатор 15.11.2009, 18:10
Natapro, согласен, вопрос на счет нравиться это не по теме

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

Автор: Natapro 15.11.2009, 18:22
я ненашла ни один с отрытым иходным кодом,
!! а почему не нравятся потому что через них идёт отсылка паролей  при авторизации, что ведёт за собой Спам ! спам Групп ит д !! а также взлом и много другого... кроми этого крадёт пароли , меняет в хост значения...

Автор: Экскалупатор 15.11.2009, 18:28
http://www.mirvkontakte.ru/files/VkontaktePicture/Vkontakte_1.2.7z

Автор: Natapro 15.11.2009, 18:45
и как с этим работать ? smile 

Автор: Экскалупатор 15.11.2009, 18:50
Natapro, ты меня пугаешь...
берешь, открываешь и пытаешься разобраться в чужой писанине, ищешь то что тебе нужно, этот код вроде на делфи.
вообще я тебе выложил пример того, что нужные тебе программы (с открытым кодом) существуют и их можно найти. если тебя не устраивает язык, то поищи на том, который тебя устраивает.

Добавлено через 43 секунды
или ты думала там учебник будет?

Автор: Natapro 15.11.2009, 19:20
а что это за язык, вобще как смотреть тот исходный код, ты смотле ? что там ?

Автор: Экскалупатор 15.11.2009, 19:31
Natapro, у меня такое чувство, что ты не обременяешь себя прочтением сообщений, которые тебе пишут. я ж написал:
Цитата

этот код на делфи.

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

Автор: Natapro 15.11.2009, 19:38
извини но про делфи я что-то не заметила что ты писал :( smile 

Автор: Экскалупатор 15.11.2009, 19:42
Цитата

Natapro, ты меня пугаешь...
берешь, открываешь и пытаешься разобраться в чужой писанине, ищешь то что тебе нужно, этот код вроде на делфи.
вообще я тебе выложил пример того, что нужные тебе программы (с открытым кодом) существуют и их можно найти. если тебя не устраивает язык, то поищи на том, который тебя устраивает.


Добавлено через 1 минуту и 41 секунду
к тому же там есть файл в котором указано на чем написано. там есть такая строка:
c:\program files\borland\delphi7\Projects\

и расширения файлов *.pas это тоже наводит на определенные мысли...

Автор: Natapro 15.11.2009, 19:45
ну я делфи незнаю ) мне єто просто красивае название файла хах ))) smile 

Автор: Экскалупатор 15.11.2009, 19:52
а какой знаешь? и повторю в третий раз: можно найти код на понятном тебе языке. или можно воспользоваться софтом который переводит с одного языка на другой... я надеюсь что тебя в гугле не забанили?

Автор: Natapro 15.11.2009, 19:58
 знаю ) никакой  хих ) чуть розбираюсь в визуал бейсике Ой как бы было чудесно найти на нём эту програмку.. прям очень чудесно smile
забанили представляешь ? сволочи ужас smile)))
та я искала ненашла :( вот только такие исходники находила :( а я в них не бум бум smile smile 

Автор: Natapro 16.11.2009, 01:06
Вот в инете на форуме нашла вроди эту программку, ну там только исходный код выставили , кто поможет собрать его в програмку ? буду очень благодарна !
http://www.vbnet.ru/forum/show.aspx?id=197669
Код

Private Sub buttSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttSend.Click 
        Dim b As Bitmap = pict.Image.Clone 
        b = ResizeBitmap(b) 
        'pict.SizeMode = PictureBoxSizeMode.Normal 
        pict.Image = b 
        pict.Refresh() 
        If filepictext = "png" Then 
            pict.Image.Save(My.Application.Info.DirectoryPath + "\picture.png", Drawing.Imaging.ImageFormat.Png) 
        Else 
            pict.Image.Save(My.Application.Info.DirectoryPath + "\picture.jpg", Drawing.Imaging.ImageFormat.Jpeg) 
        End If 
If filepictext = "png" Then 
            SendPNG(id, My.Application.Info.DirectoryPath + "\picture.png") 
        Else 
            SendPNG(id, My.Application.Info.DirectoryPath + "\picture.jpg") 
        End If 
mainFrm.WebBrowser1.Navigate("http://vkontakte.ru/graffiti.php?act=last") 
End Sub 
Public Function ResizeBitmap(ByVal b As Bitmap) As Bitmap 
        If (b Is Nothing) Then Return Nothing 
        Dim scale As Single 
        Dim x As Single = 586 / b.Width '272'586 
        Dim y As Single = 293 / b.Height '136'293 
        If x < y Then scale = x Else scale = y 
        If x >= 1 And y >= 1 Then scale = 1 
        Dim result As Bitmap = New Bitmap(scale * b.Width, scale * b.Height, Imaging.PixelFormat.Format32bppRgb) 
        Using g As Graphics = Graphics.FromImage(result) 
            g.CompositingQuality = Drawing2D.CompositingQuality.HighQuality 
            g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic 
            g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias 
            'Dim matr As New Drawing2D.Matrix() 
            'matr.Scale(scale, scale) 
            'g.Clear(Color.Transparent) 
            'g.Transform = matr 
            g.DrawImage(b, 0, 0, result.Width, result.Height) 
        End Using 
        Dim result2 As Bitmap = New Bitmap(586, 293) '(272, 136)'(586, 293) 
        Using g As Graphics = Graphics.FromImage(result2) 
            g.Clear(Color.White) 
            g.CompositingQuality = Drawing2D.CompositingQuality.HighQuality 
            g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic 
            g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias 
            g.DrawImage(result, Convert.ToInt32(result2.Width / 2 - result.Width / 2), Convert.ToInt32(result2.Height / 2 - result.Height / 2)) 
        End Using 
        Return result2 
    End Function 
Private Function GetMD5Hash(ByVal input As String) As String 
        Dim x As New System.Security.Cryptography.MD5CryptoServiceProvider() 
        Dim bs() As Byte = System.Text.Encoding.UTF8.GetBytes(input) 
        bs = x.ComputeHash(bs) 
        Dim s As New System.Text.StringBuilder() 
        For Each b As Byte In bs 
            s.Append(b.ToString("x2").ToLower()) 
        Next 
        Dim password As String = s.ToString() 
        Return password 
    End Function 
    Private Function file_get_contents(ByVal fileName As String) As Byte() 'String 
        Dim sContents As Byte() 'String = String.Empty 
        'If (fileName.ToLower().IndexOf("http:") > -1) Then 'url 
        '    Dim wc As New System.Net.WebClient() 
        '    Dim response() As Byte = wc.DownloadData(fileName) 
        '    sContents = response 'System.Text.Encoding.ASCII.GetString(response) 
        'Else 
        Dim sr As New System.IO.StreamReader(fileName, System.Text.Encoding.GetEncoding(1251)) 
        sContents = System.Text.Encoding.GetEncoding(1251).GetBytes(sr.ReadToEnd) 'sr.ReadToEnd() 
        sr.Close() 
        'End If 
        Return sContents 
    End Function 
    Private Sub SendPNG(ByVal to_id As String, ByVal filename As String) 
        Dim sock As New Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.Tcp) 
        sock.Connect("vkontakte.ru", 80) 
        If sock.Connected Then 
            Dim head As String = "POST /graffiti.php?to_id=" + to_id + "&group_id=0 HTTP/1.1" + vbNewLine 
            head += "Host: vkontakte.ru" + vbNewLine 
            head += "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7" + vbNewLine 
            head += "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" + vbNewLine 
            head += "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3" + vbNewLine 
            head += "Accept-Encoding : gzip, deflate" + vbNewLine 
            head += "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7" + vbNewLine 
            head += "Keep-Alive: 300" + vbNewLine 
            head += "Connection: keep-alive" + vbNewLine 
            head += "Cookie: " + mainFrm.cookie + vbNewLine 
            head += "Referer: http://vkontakte.ru/swf/Graffiti.swf?12" + vbNewLine 
            head += "Content-type: multipart/form-data; boundary=--OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST" + vbNewLine 
 
            Dim head2 As String = "----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST" + vbNewLine 
            head2 += "Content-Disposition: form-data; name=""Signature""" + vbNewLine + vbNewLine 
            head2 += GetMD5Hash(Convert.ToBase64String(file_get_contents(filename)).Substring(0, 1024)) 
            head2 += vbNewLine 
            head2 += "----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST" + vbNewLine 
            head2 += "Content-Disposition: form-data; name=""Filedata""; filename=""graffiti.png""" + vbNewLine 
            head2 += "Content-Type: image/png" + vbNewLine + vbNewLine 
            head2 += System.Text.Encoding.GetEncoding(1251).GetString(file_get_contents(filename)) 
            head2 += "----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST" + vbNewLine 
            head2 += "Content-Disposition: form-data; name=""Upload""" + vbNewLine 
            head2 += vbNewLine 
            head2 += "Submit Query" + vbNewLine 
            head2 += "----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST--" 
 
            head += "Content-length: " + head2.Length.ToString + vbNewLine 
            head += vbNewLine 
            head += head2 
 
            'Dim fw As New IO.StreamWriter(My.Application.Info.DirectoryPath + "\log.txt", False, System.Text.Encoding.GetEncoding(1251)) 
            'fw.Write(head) 
            'fw.Close() 
            'fw.Dispose() 
            sock.Send(System.Text.Encoding.GetEncoding(1251).GetBytes(head)) 
            Dim header(1024) As Byte 
            sock.Receive(header) 
            'Dim headerstr = System.Text.Encoding.GetEncoding(1251).GetString(header).Trim 
            'Dim fw As New IO.StreamWriter(My.Application.Info.DirectoryPath + "\receive.txt", False, System.Text.Encoding.GetEncoding(1251)) 
            'fw.Write(headerStr) 
            'fw.Close() 
            'fw.Dispose() 
        Else 
            MsgBox("Ошибка подключения к vkontakte.ru") 
        End If 
        sock.Close() 
    End Sub

Автор: Экскалупатор 16.11.2009, 01:34
классный коментарий там на сайте, в теме про эту прогу. я бы на твоем месте задумался, может люди правы...
Цитата

Снова повторяю, что нужно писать полезный софт. Рисовалок в этом сраном контакте уже пруд пруди...

Автор: Natapro 16.11.2009, 01:36
да но на бейсике что-то я не нашла ни пруда ни потичка даже...

Автор: Экскалупатор 16.11.2009, 02:37
Цитата

да но на бейсике что-то я не нашла ни пруда ни потичка даже... 


ты ж вроде написала что нашла? в чем проблема?

Автор: diadiavova 16.11.2009, 11:20
Цитата(Экскалупатор @  15.11.2009,  19:31 Найти цитируемый пост)
Natapro, у меня такое чувство, что ты не обременяешь себя прочтением сообщений, которые тебе пишут

Как это не странно, у меня такое же ощущение.

Автор: Natapro 16.11.2009, 13:15
Цитата(diadiavova @  16.11.2009,  11:20 Найти цитируемый пост)

Natapro, у меня такое чувство, что ты не обременяешь себя прочтением сообщений, которые тебе пишут


Как это не странно, у меня такое же ощущение.

Сговорились заразки ?

Автор: Natapro 16.11.2009, 14:16
Ну так кто-то поможет это в програмку собратЬ ?

Автор: diadiavova 16.11.2009, 18:48
Цитата(Natapro @  16.11.2009,  14:16 Найти цитируемый пост)
Ну так кто-то поможет это в програмку собратЬ ? 
 smile

Автор: Экскалупатор 16.11.2009, 18:52
Natapro, видно придется самой...

Автор: Exai1e 16.11.2009, 20:00
Цитата(Natapro @  16.11.2009,  13:15 Найти цитируемый пост)
Сговорились заразки ?

 smile  smile 
реализуй buttSend_Click ctrl+c / ctrl+v
реализуй метод Public Function ResizeBitmap(ByVal b As Bitmap) As Bitmap  ctrl+c / ctrl+v
реализуй метод Private Function GetMD5Hash(ByVal input As String) As String ctrl+c / ctrl+v
реализуй Private Sub SendPNG(ByVal to_id As String, ByVal filename As String) ctrl+c / ctrl+v
пасмари что из этого получится =) авось и заработает. 
зы на форму кинуть WebBrowser1 не забудь 
зыы форму назови mainFrm

Автор: Natapro 17.11.2009, 01:34
ничего кроми кнопки браузера и формы, что создавать не поняла, ну помогите пожалуйста !!!

Добавлено через 3 минуты и 11 секунд
ну ещё вроди пикт-картинку создатЬ :( smile  smile 

Автор: Natapro 17.11.2009, 02:12
неееполучается :( smile

Добавлено через 17 секунд
неееполучается :( smile 

Автор: Экскалупатор 17.11.2009, 02:27
Natapro, что конкретно не получается?

Автор: diadiavova 17.11.2009, 02:29
Экскалупатор, как что? Вставить артинку в контакт smile

Автор: Natapro 17.11.2009, 02:36
Цитата

Экскалупатор, как что? Вставить артинку в контакт 

дьо )) вас смесно а мну плякать будет 

ничего )) я не понимаю что делать что в форме создавать :(

Автор: Экскалупатор 17.11.2009, 02:36
diadiavova, да! точно! я и забыл уже. а я было подумал может что более конкретное, обработчик там для кнопки или еще что...


Natapro, может все таки возмешь готовое приложение? да и ну эту разработку, а? сложно это все, надо постоянно что то читать, искать инфу, думать как и что реализовать, не стоит это того... взяла готовую прогу(коих валом) и пользуйся на здоровье.

Автор: Natapro 17.11.2009, 02:42
Цитата

взяла готовую прогу(коих валом) и пользуйся на здоровье.

ага и слушать потом от друзей что от тебя спам приходит.. ну ну.. 
они ведь все требуют авторизации, а при авторизации пароль комуто на почту кидается... 
или файлик хост редактируют.. или ещё много фсякой бяки.. :(

Автор: diadiavova 17.11.2009, 03:01
Собственно, покапался в контактных доках и вот что надыбал
http://vkontakte.ru/pages.php?id=2369267
Можешь отсюда начать
http://vkontakte.ru/pages.php?o=-1&p=%CE%EF%E8%F1%E0%ED%E8%E5%20%EC%E5%F2%EE%E4%EE%E2%20API

Автор: Natapro 17.11.2009, 03:08
:(

Автор: Экскалупатор 17.11.2009, 03:11
Natapro, 
Цитата

:( 


что не устраивает? вроде все написано, все можно сделать оказывается стандартными средствами...

Автор: diadiavova 17.11.2009, 03:13
Natapro, если не понятно, вернись к той статье об имитации работы браузера, что я тебе выкладывал. Начни с изучения HttpWebRequest/HttpWebResponse.

Автор: Exai1e 17.11.2009, 11:45
Natapro, имхо те еще рано что то самой писать, если даже скопипастить готовый код не можешь. Начни с базового изучения языка, как методы объявить, хотя бы даже =)
зы. то что пишут друзья бла бла от тебя приходит спам, может быть не из за скаченной программы для отправки картинок на стену или как там ее. Может у тя давно сидит червяк который этим делом занимается, и попал он к тебе совсем не через скаченную программу для отправки картинок бла бла бла.
Найди себя в списке http://habrahabr.ru/blogs/virus/75345/  smile 

Автор: antG 17.11.2009, 21:32
Недавно как раз разбирал этот вопрос(отправка картинки на стену вконтакте).
Это реализуется POST запросами на сайт vkontakte.ru
http://www.rsdn.ru/article/inet/httpweb.xml

http://s.3po.ru/trunk/

Автор: Экскалупатор 17.11.2009, 21:42
antG, про делфи девушка ничего не вкурсе(на прошлой странице темы я ей уже предлагал), так что это не поможет... 

Автор: antG 17.11.2009, 22:10
Да ладно наф)там разбираться то пробижался глазами по коду ОПА ВОТ Запрос ОПА вот че туда добавить нада...)))

Добавлено через 8 минут и 53 секунды
Самое основное
Код

procedure TForm1.imgConnect(Sender: TObject; Socket: TCustomWinSocket);
var tmp,value:ansistring;
begin
ftext:=''; stext:='';
load2:= '----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST' + #10 +
 'Content-Disposition: form-data; name="Signature"' + #10#10 +
 'thefucking32bits.idontknowwhatwr'                 + #10 +
 '----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST'      + #10 +
 'Content-Disposition: form-data; name="Filedata"; filename="graffiti.png"' + #10 +
 'Content-Type: image/png' +#10#10;

 if(drawid='') then drawid:='0';
 if(drawgid='') then drawgid:='0';
load1:='POST http://vkontakte.ru/graffiti.php?to_id='+drawid+'&group_id='+drawgid+' HTTP/1.1' + #10 +
 'Host: vkontakte.ru'   + #10 +
 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1;) Firefox/2.0.0.3' + #10 +
 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/*;q=0.5' + #10 +
 'Accept-Language: ru,en-us;q=0.7,en;q=0.3' + #10 +
 'Accept-Encoding: gzip,deflate' + #10 +
 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7' + #10 +
'Keep-Alive: 300'   + #10 +
'Connection: keep-alive'  + #10 +
 cookie + #10   +
 'Referer: http://vkontakte.ru/swf/Graffiti.swf?12' + #10 +
 'Content-type: multipart/form-data; boundary=--OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST' + #10 +
 'Content-Length: ';
        tmp:=file_get_contents(tempfile);
   label4.Caption:='Загрузка..';
        value:=load1
        +inttostr(length(tmp)+length(load2)+43)
        + #10#10
        +StringReplace(load2,'thefucking32bits.idontknowwhatwr',
        signature,[]);

        stext:= value+'<Файл картинки>'+#10+'----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST'+#10;
        Socket.SendText(value+tmp+#10+'----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST'+#10);

      // value+tmp+#10+'----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST'+#10;

   label4.Caption:='Ожидание ответа';
   ProgressBar1.Position:=100;
   form1.Enabled:=true;
   
end;

procedure TForm1.imgRead(Sender: TObject; Socket: TCustomWinSocket);
begin
ftext:=ftext+socket.ReceiveText;

//Если воообще хз что
if(pos(' 302 ',ftext)=0) and (pos(' 413 ',ftext)=0) then
excpt('Неожиданный ответ от сервера. Возможно слишком большой размер '
+'картинки','')

//паганый размер
else if (pos(' 413 ',ftext)<>0) then
excpt('Сервер ответил что большой размер изображения. Напишите автору на [email protected]','')

//если, вроде, все хорошо
else 
 navigate('http://vkontakte.ru/graffiti.php?act=last');
 label4.Caption:='Готово';
//Закрытие, если открыт. баян.
 if(socket.Connected) then  socket.Close;

end;

Автор: diadiavova 17.11.2009, 22:49
Цитата(antG @  17.11.2009,  21:32 Найти цитируемый пост)
Вот эта сатья всё разьяснила
Когда я писал
Цитата(diadiavova @  17.11.2009,  03:13 Найти цитируемый пост)
вернись к той статье об имитации работы браузера, что я тебе выкладывал.
Речь шла именно об этой статье, ссылка в 4-м посте этого топика. О дельфийских исходниках, тоже вроде как упоминалось. Прочитал бы топик прежде чем постить, что ли.  smile 

Автор: diadiavova 18.11.2009, 00:41
Короче говоря, немного почитал об этих API...всё оказалось не так просто. Они ориентированы на флеш-приложения, зарегистрированные вконтакте. Стало быть надо пользоваться первоначальным вариантом - грузить страницы загнрузки в браузер и эмулировать клики и прочие действия пользователя, или делать тоже самое через Request/Response.Последний вариант лучше, но и сложнее, в нём долго разбираться, и ИМХО, оно того не стоит.

Автор: Экскалупатор 18.11.2009, 00:55
diadiavova, 
Цитата

ИМХО, оно того не стоит. 


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

Автор: diadiavova 18.11.2009, 10:54
Ну тут в общем-то у каждого в сети свои потребности. Хотя я посмотрел тот вконтактовский интерфейс вставки картинки на стену, там всё делается в несколько кликов и на самом деле процесс автоматизации этой операции имхо бессмысленен, потому что разбираться в нём долго, а толку мало.

Автор: Natapro 20.11.2009, 13:38
Цитата(antG @ 17.11.2009,  22:10)
Да ладно наф)там разбираться то пробижался глазами по коду ОПА ВОТ Запрос ОПА вот че туда добавить нада...)))

Ну если для вас это всё так просто, очень тяжело скинуть уже в готовом виде ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)