Hola
Quiero armar un programa que pegue un texto X en alguna pagina como Pastebin.com o tinypaste.com
Las dos tienen apis.
http://tinypaste.com/api/doc/create
http://pastebin.com/api.php
Pero no entiendo ni cuarto de PHP asi que toy bastante frito.
Lo unico que tengo es el codigo de karckrak para postear en twitter y tampoco lo entiendo >.<
aca les dejo la funcion que armo karckrak para el tweetwlm
Public Sub TweetIt(ByVal sStr As String)
Const sURL As String = "http://api.twitter.com/1/statuses/update.xml?status="
Dim oWinHTTP As Object 'As New WinHttp.WinHttpRequest
Set oWinHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
With oWinHTTP
Call .Open("POST", sURL & sStr)
Call .SetCredentials(App.ProductName, App.Comments, 0)
Call .Send
End With
Set oWinHTTP = Nothing
End Sub
Gracias por la ayuda
Con pastebin es mas facil ya que tienes que enviar una peticion post y esperar su respuesta :)
Lee un poco sobre el protocolo HTTP y veras :)
Con tinypaste es casi lo mismo pero se mezcla con html y json, y si no sabes javascript se te va a complicar un poco :P
Cita de: raul338 en 31 Octubre 2010, 21:59 PM
Lee un poco sobre el protocolo HTTP y veras :)
Ya lei todo pero sigo sin entender como hacerlo siquiera manualmente.
http://en.wikipedia.org/wiki/POST_%28HTTP%29
http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
eso lei
sigo sin entender.
como se supone que es
Como corno le pido POST a esa URL?
http://pastebin.com/api_public.php
expliquenme
haciendo prueva y error di de cara contra este codigo
Const sURL As String = "http://pastebin.com/api_public.php"
Dim oWinHTTP As Object 'As New WinHttp.WinHttpRequest
Set oWinHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
With oWinHTTP
Call .Open("POST", sURL, False)
Call .Send("paste_code=Robochot")
MsgBox .responseText, vbInformation
End With
Set oWinHTTP = Nothing
pero me sigue devolviendo error
ademas estoy deduciendo que .open pide los sig parametros Tipo (POST) , URL y NUSEQUE pero encontre que va en false.
AYUDENME
EDITO 2
Encontre los comandos del objeto raro ese
http://www.neilstuff.com/winhttp/
pero sigo sin entender porque no anda :S
Dim cookie As String
Private Function Request(page As String, host As String, Optional postData As String = vbNullString)
Dim s As String
If postData <> "" Then
s = "POST /" & page & " HTTP/1.1" & vbNewLine
Else
s = "GET /" & page & " HTTP/1.1" & vbNewLine
End If
s = s & "Host: " & host & vbNewLine
s = s & "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10" & vbNewLine
s = s & "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & vbNewLine
s = s & "Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3" & vbNewLine
s = s & "Accept -Encoding: gzip , deflate" & vbNewLine
If cookie <> "" Then s = s & "Cookie: " & cookie
s = s & "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbNewLine
s = s & "Keep-Alive: 115" & vbNewLine
If postData <> "" Then
s = s & "Content-type: application/x-www-form-urlencoded" & vbNewLine
s = s & "Content-length: " & LenB(postData) & vbNewLine
End If
s = s & "Connection: close" & vbNewLine & vbNewLine & postData
Socket.SendData s
End Function
Private Sub socket_DataArrival(ByVal bytesTotal As Long)
Dim t As String
Socket.GetData t, vbString, bytesTotal
' Debug.Print t
If t Like "HTTP/1.0*" Then
If cookie = "" And (status = 2 Or status = 3) Then
'Set-Cookie: PHPSESSID=f1fa53db6eafd9cb18628e070c7a0050; expires=Mon, 18-Oct-2010 23:37:53 GMT; path=/
Dim i As Long
i = InStr(t, "Set-Cookie: ") + Len("Set-Cookie: ")
cookie = Mid$(t, i, 43)
End If
Exit Sub
End If
' Evaluar la respuesta :) del socket
End Sub
Es un extracto de un programa estilo "no-ip" utilizando CSocketPlus o CSOcketMaster (ni recuerdo cual era :xD). Fijate bien las cabeceras http (tuve que "disfrazarme" de Firefox porque el hosting que tengo no permite llamadas directas :xD)
Vos en el postData lo envias como si fuera el final de un url
dato1=valor1&dato2=valor2
Lo demas, lo dejo que lo descubras por vos mismo :P
En el parametro host, va solo el dominio (ej: raul338.com.ar)
muy complicado el codigo.
yo "supuestamente" no necesito disfrasarme de nada.
Es una api publica :-\
el post de datos esta bien pero me debuelve que le estoy errando en la peticion POST.
asi estan bien los comandos que tengo escritos?
.
Para los header HTTP 1.0-1.1
Pueden usar esto para hacer los parse adecuadamente sin tanto texto que marea...:
http://infrangelux.sytes.net/filex/?file=Http%201.1%20Protocol.zip&dir=/BlackZeroX/Programacion/vb6/Protocolos
Dulces Lunas!¡.
.