get join url from a greenlight
This commit is contained in:
commit
e19ddd046c
|
@ -0,0 +1,54 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"net/http"
|
||||||
|
"net/url"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/PuerkitoBio/goquery"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
bbbName := "bbbBot"
|
||||||
|
bbbURL, _ := url.Parse(os.Args[1])
|
||||||
|
|
||||||
|
res, err := http.Get(bbbURL.String())
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
defer res.Body.Close()
|
||||||
|
if res.StatusCode != 200 {
|
||||||
|
log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
|
||||||
|
}
|
||||||
|
|
||||||
|
doc, err := goquery.NewDocumentFromReader(res.Body)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
form := doc.Find("form")
|
||||||
|
authToken, ok := form.Find("input[name='authenticity_token']").Attr("value")
|
||||||
|
if !ok {
|
||||||
|
log.Fatalln("'authenticity_token' not found")
|
||||||
|
}
|
||||||
|
res.Body.Close()
|
||||||
|
// ----
|
||||||
|
res, err = http.PostForm(bbbURL.String(), url.Values{
|
||||||
|
"authenticity_token": {authToken},
|
||||||
|
fmt.Sprintf("%s[join_name]", bbbURL.Path): {bbbName},
|
||||||
|
})
|
||||||
|
//defer res.Body.Close()
|
||||||
|
if res.StatusCode != 200 {
|
||||||
|
log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
|
||||||
|
}
|
||||||
|
log.Printf("%v", res.Request.Header.Get("Referer"))
|
||||||
|
|
||||||
|
/* not needed ... websocket
|
||||||
|
doc, err = goquery.NewDocumentFromReader(res.Body)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
log.Println(doc.Html())
|
||||||
|
*/
|
||||||
|
}
|
Reference in New Issue