elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  como funcionan las api web?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como funcionan las api web?  (Leído 3,792 veces)
Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
como funcionan las api web?
« en: 31 Octubre 2010, 21:31 »

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
Código
  1. Public Sub TweetIt(ByVal sStr As String)
  2.    Const sURL      As String = "http://api.twitter.com/1/statuses/update.xml?status="
  3.    Dim oWinHTTP    As Object 'As New WinHttp.WinHttpRequest
  4.  
  5.    Set oWinHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
  6.  
  7.    With oWinHTTP
  8.        Call .Open("POST", sURL & sStr)
  9.        Call .SetCredentials(App.ProductName, App.Comments, 0)
  10.        Call .Send
  11.    End With
  12.  
  13.    Set oWinHTTP = Nothing
  14. End Sub
  15.  

Gracias por la ayuda


En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: como funcionan las api web?
« Respuesta #1 en: 31 Octubre 2010, 21:59 »

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


En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: como funcionan las api web?
« Respuesta #2 en: 31 Octubre 2010, 23:03 »

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
Código
  1.    Const sURL      As String = "http://pastebin.com/api_public.php"
  2.    Dim oWinHTTP    As Object 'As New WinHttp.WinHttpRequest
  3.  
  4.    Set oWinHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
  5.  
  6.    With oWinHTTP
  7.        Call .Open("POST", sURL, False)
  8.        Call .Send("paste_code=Robochot")
  9.        MsgBox .responseText, vbInformation
  10.    End With
  11.  
  12.    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
« Última modificación: 31 Octubre 2010, 23:30 por Elemental Code » En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: como funcionan las api web?
« Respuesta #3 en: 1 Noviembre 2010, 00:01 »

Código
  1. Dim cookie As String
  2.  
  3. Private Function Request(page As String, host As String, Optional postData As String = vbNullString)
  4.    Dim s As String
  5.    If postData <> "" Then
  6.        s = "POST /" & page & " HTTP/1.1" & vbNewLine
  7.    Else
  8.        s = "GET /" & page & " HTTP/1.1" & vbNewLine
  9.    End If
  10.    s = s & "Host: " & host & vbNewLine
  11.    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
  12.    s = s & "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & vbNewLine
  13.    s = s & "Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3" & vbNewLine
  14.    s = s & "Accept -Encoding: gzip , deflate" & vbNewLine
  15.    If cookie <> "" Then s = s & "Cookie: " & cookie
  16.    s = s & "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbNewLine
  17.    s = s & "Keep-Alive: 115" & vbNewLine
  18.    If postData <> "" Then
  19.        s = s & "Content-type: application/x-www-form-urlencoded" & vbNewLine
  20.        s = s & "Content-length: " & LenB(postData) & vbNewLine
  21.    End If
  22.    s = s & "Connection:     close" & vbNewLine & vbNewLine & postData
  23.    Socket.SendData s
  24. End Function
  25.  
  26. Private Sub socket_DataArrival(ByVal bytesTotal As Long)
  27.    Dim t As String
  28.    Socket.GetData t, vbString, bytesTotal
  29. '    Debug.Print t
  30.    If t Like "HTTP/1.0*" Then
  31.        If cookie = "" And (status = 2 Or status = 3) Then
  32.            'Set-Cookie: PHPSESSID=f1fa53db6eafd9cb18628e070c7a0050; expires=Mon, 18-Oct-2010 23:37:53 GMT; path=/
  33.            Dim i As Long
  34.            i = InStr(t, "Set-Cookie: ") + Len("Set-Cookie: ")
  35.            cookie = Mid$(t, i, 43)
  36.        End If
  37.        Exit Sub
  38.    End If
  39.    ' Evaluar la respuesta :) del socket
  40. End Sub
  41.  

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

Código:
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)
En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: como funcionan las api web?
« Respuesta #4 en: 1 Noviembre 2010, 00:14 »

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?
En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 3.128


I'Love...!¡.


Ver Perfil WWW
Re: como funcionan las api web?
« Respuesta #5 en: 1 Noviembre 2010, 02:04 »

.
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!¡.
.
En línea




CScript (Actualizado 26/06/2013).

FileX <-- Re-modelando...
Web Principal-->[ Blog(VB6/C/C++) | Host File | Scan Port) ]

The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilit y el metal mi relig
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines