Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: HTTP multipart/form-data Добавлено: 02.05.09 20:17  

Автор вопроса:  TR0JAN | ICQ: 893224 
POST http://img.uz/basic.php HTTP/1.0
Accept: */*
Referer: http://img.uz/
Accept-Language: ru
Content-Type: multipart/form-data; boundary=---------------------------7d934b2ed00d6
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0
Host: img.uz
Content-Length: 4666
Pragma: no-cache

-----------------------------7d934b2ed00d6
Content-Disposition: form-data; name="radiobutton"

radiobutton
-----------------------------7d934b2ed00d6
Content-Disposition: form-data; name="userfile"; filename="pic.jpg"
Content-Type: image/pjpeg

СОДЕРЖИМОЕ КАРТИНКИ
-----------------------------7d934b2ed00d6--


Киньте плиз код для отправки подобного, у меня проблема содержимое файла выстать немогу толи в стринге только байтами отсылать вобщем ОЧЕНЬ нужно, помогите!

*Можно на любом другом сервисе пример показать (главное чтоб было multipart/form-data )

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Skywalker



ICQ: 300-70-6пятьЪ 

Вопросов: 62
Ответов: 545
 Web-сайт: iSkywalker.ru
 Профиль | | #1
Добавлено: 03.05.09 01:14
  1.  
  2. Private Function GetMD5Hash(ByVal input As String) As String
  3.         Dim x As New System.Security.Cryptography.MD5CryptoServiceProvider()
  4.         Dim bs() As Byte = System.Text.Encoding.UTF8.GetBytes(input)
  5.         bs = x.ComputeHash(bs)
  6.         Dim s As New System.Text.StringBuilder()
  7.         For Each b As Byte In bs
  8.             s.Append(b.ToString("x2").ToLower())
  9.         Next
  10.         Dim password As String = s.ToString()
  11.         Return password
  12.     End Function
  13.     Private Function file_get_contents(ByVal fileName As String) As Byte() 'String
  14.         Dim sContents As Byte() 'String = String.Empty
  15.         Dim sr As New System.IO.StreamReader(fileName, System.Text.Encoding.GetEncoding(1251))
  16.         sContents = System.Text.Encoding.GetEncoding(1251).GetBytes(sr.ReadToEnd)
  17.         sr.Close()
  18.         Return sContents
  19.     End Function
  20. Private Sub SendPNG(ByVal to_id As String, ByVal filename As String)
  21.         Dim sock As New Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.Tcp)
  22.         sock.Connect("vkontakte.ru", 80)
  23.         If sock.Connected Then
  24.             Dim head As String = "POST /graffiti.php?to_id=" + to_id + "&group_id=0 HTTP/1.1" + vbNewLine
  25.             head += "Host: vkontakte.ru" + vbNewLine
  26.             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
  27.             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
  28.             head += "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3" + vbNewLine
  29.             head += "Accept-Encoding : gzip, deflate" + vbNewLine
  30.             head += "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7" + vbNewLine
  31.             head += "Keep-Alive: 300" + vbNewLine
  32.             head += "Connection: keep-alive" + vbNewLine
  33.             head += "Cookie: " + mainFrm.cookie + vbNewLine
  34.             head += "Referer: http://vkontakte.ru/swf/Graffiti.swf?12" + vbNewLine
  35.             head += "Content-type: multipart/form-data; boundary=--OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST" + vbNewLine
  36.  
  37.             Dim head2 As String = "----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST" + vbNewLine
  38.             head2 += "Content-Disposition: form-data; name=""Signature""" + vbNewLine + vbNewLine
  39.             head2 += GetMD5Hash(Convert.ToBase64String(file_get_contents(filename)).Substring(0, 1024))
  40.             head2 += vbNewLine
  41.             head2 += "----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST" + vbNewLine
  42.             head2 += "Content-Disposition: form-data; name=""Filedata""; filename=""graffiti.png""" + vbNewLine
  43.             head2 += "Content-Type: image/png" + vbNewLine + vbNewLine
  44.             head2 += System.Text.Encoding.GetEncoding(1251).GetString(file_get_contents(filename))
  45.             head2 += "----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST" + vbNewLine
  46.             head2 += "Content-Disposition: form-data; name=""Upload""" + vbNewLine
  47.             head2 += vbNewLine
  48.             head2 += "Submit Query" + vbNewLine
  49.             head2 += "----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST--"
  50.  
  51.             head += "Content-length: " + head2.Length.ToString + vbNewLine
  52.             head += vbNewLine
  53.             head += head2
  54.  
  55.             'Dim fw As New IO.StreamWriter(My.Application.Info.DirectoryPath + "\log.txt", False, System.Text.Encoding.GetEncoding(1251))
  56.             'fw.Write(head)
  57.             'fw.Close()
  58.             'fw.Dispose()
  59.             sock.Send(System.Text.Encoding.GetEncoding(1251).GetBytes(head))
  60.         Else
  61.             MsgBox("Ошибка подключения к vkontakte.ru")
  62.         End If
  63.         sock.Close()
  64.     End Sub

Ответить

Номер ответа: 2
Автор ответа:
 TR0JAN



ICQ: 893224 

Вопросов: 4
Ответов: 5
 Профиль | | #2 Добавлено: 03.05.09 01:51
Если ктонить это на VB6 перепишет вообще шикарно будет)

Ответить

Номер ответа: 3
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #3 Добавлено: 03.05.09 02:46
Skywalker, че-то уж сильно по-хакерски. HttpWebRequest разве не имеет аналогичных возможностей?

Ответить

Номер ответа: 4
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #4 Добавлено: 03.05.09 03:17
TR0JAN, учитывая что код на сокете основан, на VB6 будет несложно переписать (делать это тут вряд ли кто-то будет, тк VB6 остался на компе только у 3-х человек считая тебя).

Ответить

Номер ответа: 5
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #5
Добавлено: 03.05.09 13:21
потому что на юниксах им не пользуются?

Ответить

Номер ответа: 6
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #6 Добавлено: 03.05.09 17:40
Winand пишет:
потому что на юниксах им не пользуются?

Именно :)

Ответить

Номер ответа: 7
Автор ответа:
 TR0JAN



ICQ: 893224 

Вопросов: 4
Ответов: 5
 Профиль | | #7 Добавлено: 04.05.09 00:58
Вот вообщем исходник! Плиз поправьте чтоб работало плиз)
ifolder.ru/11934931

Ответить

Номер ответа: 8
Автор ответа:
 TR0JAN



ICQ: 893224 

Вопросов: 4
Ответов: 5
 Профиль | | #8 Добавлено: 10.05.09 23:46
Никто нерубит чтоли?) Ну очень надо) даже исходник прикрутил и ноль эмоций ifolder.ru/11934931

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам