You can try this bit of code written by Falord (Not the Falord you know)
Public Class tinypic
Public Function upload(ByVal image As String) As String
Dim wc As New System.Net.WebClient
Dim tpicHTML As String = wc.DownloadString("
http://tinypic.com")
Dim contentID As String = Regex.Match(tpicHTML, "value=""([0-9]*_[0-9]*)""").Groups.Item(1).Value.ToString
Dim upk As String = Regex.Match(tpicHTML, "name=""upk"" value=""([0-9a-f]*)""").Groups.Item(1).Value.ToString
Dim s As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP)
Dim filename As String = image
Dim boundry As String = "----------" + DateTime.Now.Ticks.ToString("x")
Dim packet As StringBuilder = New StringBuilder
Dim pd As MemoryStream = New MemoryStream
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""UPLOAD_IDENTIFIER""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""UPLOAD_IDENTIFIER""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes(contentId & vbCrLf), 0, (contentId & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""upk""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""upk""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes(upk & vbCrLf), 0, (upk & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""domain_lang""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""domain_lang""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("en" & vbCrLf), 0, ("en" & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""file_type""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""file_type""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("image" & vbCrLf), 0, ("image" & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""dimension""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""dimension""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("1600" & vbCrLf), 0, ("1600" & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""video-settings""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""video-settings""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("" & vbCrLf), 0, ("" & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""addresses""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""addresses""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("" & vbCrLf), 0, ("" & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""description""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""description""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("" & vbCrLf), 0, ("" & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""action""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""action""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("upload" & vbCrLf), 0, ("upload" & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""MAX_FILE_SIZE""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""MAX_FILE_SIZE""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("500000000" & vbCrLf), 0, ("500000000" & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""shareopt""" & vbCrLf & vbCrLf), 0, ("Content-Disposition: form-data; name=""shareopt""" & vbCrLf & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("true" & vbCrLf), 0, ("true" & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & vbCrLf), 0, ("--" & boundry & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Disposition: form-data; name=""the_file""; filename=""" & filename.Split("\")(1) & """" & vbCrLf), 0, ("Content-Disposition: form-data; name=""the_file""; filename=""" & filename.Split("\")(1) & """" & vbCrLf).Length)
pd.Write(Encoding.ASCII.GetBytes("Content-Type: image/pjpeg" & vbCrLf & vbCrLf), 0, ("Content-Type: image/pjpeg" & vbCrLf & vbCrLf).Length)
pd.Write(File.ReadAllBytes(filename), 0, New FileInfo(filename).Length)
pd.Write(Encoding.ASCII.GetBytes("" & vbCrLf), 0, Encoding.ASCII.GetByteCount("" & vbCrLf))
pd.Write(Encoding.ASCII.GetBytes("--" & boundry & "--"), 0, ("--" & boundry & "--").Length)
packet.AppendLine("POST /upload.php HTTP/1.1")
packet.AppendLine("Accept: Accept: image/gif, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, application/vnd.ms-powerpoint, */*")
packet.AppendLine("Accept-Language: en-us")
packet.AppendLine("Referer:
http://www.tinypic.com/")
packet.AppendLine("User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.21022; OfficeLiveConnector.1.3; .NET CLR 3.5.30729; .NET CLR 3.0.30618; OfficeLivePatch.1.3)")
packet.AppendLine("Content-Type: multipart/form-data; boundary=" & boundry)
packet.AppendLine("Accept-Encoding: text")
packet.AppendLine("Host: s5.tinypic.com")
packet.AppendLine("Content-Length: " & pd.Length)
packet.AppendLine("Connection: Keep-Alive")
packet.AppendLine("Cache-Control: no-cache")
packet.AppendLine("Cookie: language=a%3A1%3A%7Bs%3A8%3A%22language%22%3Bs%3A2%3A%22en%22%3B%7D;")
packet.AppendLine("")
Dim postdatabyte As Byte() = pd.ToArray
s.Connect("s5.tinypic.com", 80)
s.Send(Encoding.ASCII.GetBytes(packet.ToString), Encoding.ASCII.GetByteCount(packet.ToString), 0)
s.Send(postdatabyte)
Dim b As Int32 = 0
Dim buffer(256) As Byte
Dim html As StringBuilder = New StringBuilder
Do
b = s.Receive(buffer, 0, 256, 0)
html.Append(Encoding.ASCII.GetString(buffer, 0, 256))
Loop While b > 0
Try
s.Shutdown(SocketShutdown.Both)
s.Close()
Catch ex As Exception
End Try
Dim imgSrc As String = ""
'
http://i42.tinypic.com/r9q549.jpg
If Regex.IsMatch(html.ToString, "name=""pic"" value=""(.*)""") Then
Dim picName As String = Regex.Match(html.ToString, "name=""pic"" value=""(.*)""").Groups.Item(1).Value
Dim server As String = Regex.Match(html.ToString, "name=""ival"" value=""(.*)""").Groups.Item(1).Value
Return "
http://i" & server & ".tinypic.com/" & picName & ".jpg"
Else
Return imgSrc
End If
End Function
End Class
tinypic.upload("Location of Image")
If it doesn't work, then tinypic must've changed their parameters or how their website is layed out to where you can't use this sort of "API" like approach to the website uploading wise.