Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 05:04

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Libcurl Schaltflächen

Discussion on Libcurl Schaltflächen within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Apr 2006
Posts: 6,597
Received Thanks: 1,830
Libcurl Schaltflächen

Hi,

ich habe gerade angefangen mich mit libcurl zu beschäftigen und hab gleich eine grundlegende Frage und zwar wie kann ich mich auf einer Website bewegen?

mit
Code:
int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.0.1/st_pptp.htm");
    curl_easy_setopt(curl, CURLOPT_USERPWD, "routeradmin:routerpw");

    res = curl_easy_perform(curl);

    curl_easy_cleanup(curl);
  }
  return 0;
}
kann ich mich wunderbar ins routermenu bzw zum reconnect teil einloggen.
Der komplette html code wird dann ja in der konsole ausgegeben.

Nun die Frage und zwar wie kann ich mit libcurl zb eine Schaltfläche "anklicken" wie zb: disconnect


wenn ich im jetztigen beispiel (das routermenu) auf disconnect klicke werde ich von
Code:
http://192.168.0.1/st_pptp.htm
auf
Code:
http://192.168.0.1/st_pptp.cgi
umgeleitet und eben vom internet getrennt

auf den gleichen link werd ich auch wieder verwiesen wenn ich wieder connecte.

wie kann ich das ganze mit hilfe von libcurl machen? :>
Medix is offline  
Old 12/07/2009, 00:27   #2
 
elite*gold: 0
Join Date: Aug 2006
Posts: 505
Received Thanks: 89
Quote:
Originally Posted by Medix View Post
Hi,

ich habe gerade angefangen mich mit libcurl zu beschäftigen und hab gleich eine grundlegende Frage und zwar wie kann ich mich auf einer Website bewegen?

mit
Code:
int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.0.1/st_pptp.htm");
    curl_easy_setopt(curl, CURLOPT_USERPWD, "routeradmin:routerpw");

    res = curl_easy_perform(curl);

    curl_easy_cleanup(curl);
  }
  return 0;
}
kann ich mich wunderbar ins routermenu bzw zum reconnect teil einloggen.
Der komplette html code wird dann ja in der konsole ausgegeben.

Nun die Frage und zwar wie kann ich mit libcurl zb eine Schaltfläche "anklicken" wie zb: disconnect


wenn ich im jetztigen beispiel (das routermenu) auf disconnect klicke werde ich von
Code:
http://192.168.0.1/st_pptp.htm
auf
Code:
http://192.168.0.1/st_pptp.cgi
umgeleitet und eben vom internet getrennt

auf den gleichen link werd ich auch wieder verwiesen wenn ich wieder connecte.

wie kann ich das ganze mit hilfe von libcurl machen? :>
Du findest mit Hilfe von z.B. (für Firefox) heraus, wie der Request vonstatten geht (POST oder GET) und baust das dann mit den entsprechenden Paramtern nach.

Für GET:

PHP Code:
curl_easy_setopt(curlCURLOPT_URL"http://192.168.0.1/st_pptp.cgi?parameter=befehl&zweiterparameter=befehl2"); 
Für POST:

PHP Code:
curl_easy_setopt(curlCURLOPT_URL"http://192.168.0.1/st_pptp.cgi");
curl_easy_setopt(curlCURLOPT_POSTFIELDS"parameter=befehl&zweiterparameter=befehl2"); 

Und verabschiede dich von dem Gedanken irgendetwas "anzuklicken". Du musst einfach nur die Requests nachbauen. LiveHTTPHeaders wird dir dabei sehr behilflich sein.
kennyo is offline  
Thanks
1 User
Old 12/07/2009, 02:15   #3
 
elite*gold: 0
Join Date: Apr 2006
Posts: 6,597
Received Thanks: 1,830
Danke dir ja "anklicken" war etwas ungeschickt ausgedrückt^^
Medix is offline  
Old 12/07/2009, 13:36   #4
 
elite*gold: 0
Join Date: Apr 2006
Posts: 6,597
Received Thanks: 1,830
Code:
http://192.168.0.1/st_pptp.htm

GET /st_pptp.htm HTTP/1.1
Host: 192.168.0.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://192.168.0.1/st_pptp.htm
Authorization: Basic QWRtaW46U1MyMDAw

HTTP/1.x 200 OK
Server: IP_SHARER WEB 1.0
Content-Type: text/html
&
Code:
http://192.168.0.1/st_pptp.cgi

POST /st_pptp.cgi HTTP/1.1
Host: 192.168.0.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://192.168.0.1/st_pptp.htm
Authorization: Basic QWRtaW46U1MyMDAw
Content-Type: application/x-www-form-urlencoded
Content-Length: 21
disconnect=Disconnect
HTTP/1.x 200 OK
Server: IP_SHARER WEB 1.0
Content-Type: text/html
Das konnte ich mit LiveHTTPHeaders aufnehmen.

Nur leider kann ich hier keine Parameter herauslesen ^^

Oder hast du zufällig gerade einen Link zu einer kleinen Einführung in LiveHTTPHeaders? :>
Medix is offline  
Old 12/07/2009, 15:13   #5
 
^darkwing's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 148
Received Thanks: 31
Empfehle das Add-On "Tamper Data", für solche sachen.
^darkwing is offline  
Thanks
1 User
Old 12/07/2009, 16:07   #6
 
elite*gold: 0
Join Date: Apr 2006
Posts: 6,597
Received Thanks: 1,830
Quote:
Originally Posted by ^darkwing View Post
Empfehle das Add-On "Tamper Data", für solche sachen.
Danke hab das Addon auch gleich mal auspobiert.


Ergebnis einer Aufzeichnung von einem "Klick" auf den Disconnect Button im Router Menü
:




Jedoch sehe ich nirgends parameter die ich übergeben könnte mit curl,

Die GET Requests haben auch alle keine Parameter ;/
Medix is offline  
Old 12/07/2009, 16:34   #7
 
^darkwing's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 148
Received Thanks: 31
Attached Images
File Type: jpg u9gxllrh.jpg (276.7 KB, 11 views)
^darkwing is offline  
Thanks
1 User
Old 12/07/2009, 17:00   #8
 
elite*gold: 0
Join Date: Apr 2006
Posts: 6,597
Received Thanks: 1,830
Quote:
Originally Posted by ^darkwing View Post
Danke so hab ichs auch zuerst pobiert war mir nicht sicher ob das die richtigen parameter sind


aber

ging irgendwie nicht


Code:
int main()
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {


    curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.0.1/st_pptp.cgi");


    curl_easy_setopt(curl, CURLOPT_USERPWD, "nick:pw");

curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.0.1/st_pptp.cgi");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "disconnect=Disconnect");


    res = curl_easy_perform(curl);

 
    curl_easy_cleanup(curl);
  }
  return 0;
}
nick & pw sind natürlich durch die richtigen login daten ersetzt.

Irgendwas schein ich immernoch falsch zu machen


edit: Ah doch klappt wunderbar
er connected nur automatisch gleich wieder neu danke vielmals


ps: kann es sein ,dass die parameter nicht case-sentensive sind?
Medix is offline  
Old 12/07/2009, 18:15   #9
 
^darkwing's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 148
Received Thanks: 31
Soweit ich weiß, sind die Parameter case-sensitive :>
^darkwing is offline  
Old 12/08/2009, 14:02   #10
 
elite*gold: 0
Join Date: Aug 2006
Posts: 505
Received Thanks: 89
[quote=Medix;3601923]
Quote:


GET /st_pptp.htm HTTP/1.1
Host: 192.168.0.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
Authorization: Basic QWRtaW46U1MyMDAw

HTTP/1.x 200 OK
Server: IP_SHARER WEB 1.0
Content-Type: text/html
&
Quote:


POST /st_pptp.cgi HTTP/1.1
Host: 192.168.0.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
Authorization: Basic QWRtaW46U1MyMDAw
Content-Type: application/x-www-form-urlencoded
Content-Length: 21
disconnect=Disconnect
HTTP/1.x 200 OK
Server: IP_SHARER WEB 1.0
Content-Type: text/html
[/code]

Das konnte ich mit LiveHTTPHeaders aufnehmen.

Nur leider kann ich hier keine Parameter herauslesen ^^

Oder hast du zufällig gerade einen Link zu einer kleinen Einführung in LiveHTTPHeaders? :>
Ich habs mal markiert. TamperData kenn ich jetzt nicht, aber LiveHTTPHeaders ist eigentlich sehr gut und einfach.
kennyo is offline  
Thanks
1 User
Reply




All times are GMT +2. The time now is 05:04.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.