egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

REQ: maybe someone knows how to do this

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests
View previous topic :: View next topic  
Author Message
wckdkl0wn
Voice


Joined: 07 Oct 2007
Posts: 7

PostPosted: Sun Oct 28, 2007 8:32 pm    Post subject: REQ: maybe someone knows how to do this Reply with quote

i looked fora script but couldnt find one. maybe someone knows of one and can point me towards it. but i am looking for a script that will look on a phpbb forum and reply back to the channel its in with the like top 3 or 5 new posts made. maybe an option to display the current users logged on. or perhaps the daily site visits. anyone know of any script that can do this?
Back to top
View user's profile Send private message
rosc2112
Revered One


Joined: 19 Feb 2006
Posts: 1454
Location: Northeast Pennsylvania

PostPosted: Wed Oct 31, 2007 2:10 pm    Post subject: Reply with quote

If I knew how to make a script log in to a website, then retrieving data from these boards would be fairly simple. Other people have made similar requests, but I've yet to see any example script that can log in to the website to be able to pull data from them.
Back to top
View user's profile Send private message
user
 


Joined: 18 Mar 2003
Posts: 1452
Location: Norway

PostPosted: Thu Nov 01, 2007 7:00 am    Post subject: Reply with quote

rosc2112 wrote:
If I knew how to make a script log in to a website, then retrieving data from these boards would be fairly simple. Other people have made similar requests, but I've yet to see any example script that can log in to the website to be able to pull data from them.

There's no standard way to log in to a website... In phpBB, all you need to do is post the login form and you get redirected to a url with a session ID in it.
Code:

# usage: getegghelp <yourUsername> <yourPassword> [theDesiredDestinationUri]
# returns: url based on uri with appended session id
proc getegghelp {user pass {uri ""}} {
   set     Q {}
   lappend Q username $user
   lappend Q password $pass
   lappend Q redirect $uri
   lappend Q login "Log in";# required by phpbb
   set t [http::geturl http://forum.egghelp.org/login.php -query [eval http::formatQuery $Q]]
   if {[http::ncode $t]==302} {
      upvar #0 $t s
      array set h $s(meta)
      http::cleanup $t
      set h(Location)
   } else {
      error "failed?"
   }
}
getegghelp rosc2112 password /search.php?search_id=newposts

Other sites might require cookies (store cookies recieved in the header field "Set-Cookie" and send it out in subsequent requests using "-headers {Cookie $theCookie}") or WWW-Authentication (you'll get a 401 when loading the page with no/wrong Authorization header (-headers {Authorization "Basic [base64encode user:pass]"}))

EDIT: here's some code to demonstrate BASIC authentication:
Code:
proc geturlauth {url args} {
   # parse the url to extract user:pass
   if {![regexp -- {^([a-z]+://)?(?:([^@/]+)@)?(.+)$} $url url prefix login rest]} {
      error "Invalid url"
   }
   if {$login==""} {
      error "Don't use it if you don't need it ;)"
   }
   array set o $args
   lappend o(-headers) "Authorization" "Basic [b64e $login]"
   eval http::geturl [list $prefix$rest] [array get o]
}
# base64encode based on RS's proc in the tcl wiki
proc b64e str {
   binary scan $str B* bits
   switch [expr {[string len $bits]%6}] {
      2 {append bits 0000==}
      4 {append bits 00=}
   }
   string map {
      000000 A 000001 B 000010 C 000011 D 000100 E 000101 F
      000110 G 000111 H 001000 I 001001 J 001010 K 001011 L
      001100 M 001101 N 001110 O 001111 P 010000 Q 010001 R
      010010 S 010011 T 010100 U 010101 V 010110 W 010111 X
      011000 Y 011001 Z 011010 a 011011 b 011100 c 011101 d
      011110 e 011111 f 100000 g 100001 h 100010 i 100011 j
      100100 k 100101 l 100110 m 100111 n 101000 o 101001 p
      101010 q 101011 r 101100 s 101101 t 101110 u 101111 v
      110000 w 110001 x 110010 y 110011 z 110100 0 110101 1
      110110 2 110111 3 111000 4 111001 5 111010 6 111011 7
      111100 8 111101 9 111110 + 111111 /
   } $bits
}

Use it like http::geturl, but include user:pass@ in front of the host
(geturlauth http://user:pass@some.site/)
_________________
Have you ever read "The Manual"?
Back to top
View user's profile Send private message
rosc2112
Revered One


Joined: 19 Feb 2006
Posts: 1454
Location: Northeast Pennsylvania

PostPosted: Thu Nov 01, 2007 7:38 pm    Post subject: Reply with quote

Saved for future reference, thanks User Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber