Frames mit CURL darstellen

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Frames mit CURL darstellen

Postby Marvinzum » 18. September 2015 21:57

Ich suche nach einem Weg mit CURL Frames darzustellen wenn man sich das Ganze mit echo ausgeben lässt. Hier ist mein bisheriger Ansatz:
Code: Select all
<?php
 
//Upload a blank cookie.txt to the same directory as this file with a CHMOD/Permission to 777
function login($url,$data){
    $fp = fopen("cookie.txt", "w");
    fclose($fp);
    $login = curl_init();
    curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
    curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($login, CURLOPT_TIMEOUT, 40000);
    curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($login, CURLOPT_URL, $url);
    curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($login, CURLOPT_POST, TRUE);
    curl_setopt($login, CURLOPT_POSTFIELDS, $data);
    ob_start();
    return curl_exec ($login);
    ob_end_clean();
    curl_close ($login);
    unset($login);   
}                 
 
function grab_page($site){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_TIMEOUT, 40);
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($ch, CURLOPT_URL, $site);
    ob_start();
    return curl_exec ($ch);
    ob_end_clean();
    curl_close ($ch);
}
 
function post_data($site,$data){
    $datapost = curl_init();
        $headers = array("Expect:");
    curl_setopt($datapost, CURLOPT_URL, $site);
        curl_setopt($datapost, CURLOPT_TIMEOUT, 40000);
    curl_setopt($datapost, CURLOPT_HEADER, TRUE);
        curl_setopt($datapost, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($datapost, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($datapost, CURLOPT_POST, TRUE);
    curl_setopt($datapost, CURLOPT_POSTFIELDS, $data);
        curl_setopt($datapost, CURLOPT_COOKIEFILE, "cookie.txt");
    ob_start();
    return curl_exec ($datapost);
    ob_end_clean();
    curl_close ($datapost);
    unset($datapost);   
}
 
?>

<?php

   login("https://cmi.ta.co.at/portal/checkLogin.inc.php?mode=ta","username=ENTFERNT ^^&passwort=ENTFERNT ^^&remember=on&login=Einloggen");
   echo grab_page("https://cmi.ta.co.at/webi/CMI004181/schema.html#1");
?>

An den Admin der meinen Post das letzte mal gelöscht hat: Das ist ein anderes Thema und braucht daher einen eigenen Post. Letztes mal habe ich gefragt wie man sich in Webseiten mit Curl einloggen kann. Jetzt möchte ich Frames darstellen. das hat NICHTS miteinander zu tun.
Marvinzum
 
Posts: 12
Joined: 09. September 2015 13:37
Operating System: Windows

Re: Frames mit CURL darstellen

Postby Altrea » 18. September 2015 22:09

Marvinzum wrote:An den Admin der meinen Post das letzte mal gelöscht hat: Das ist ein anderes Thema und braucht daher einen eigenen Post. Letztes mal habe ich gefragt wie man sich in Webseiten mit Curl einloggen kann. Jetzt möchte ich Frames darstellen. das hat NICHTS miteinander zu tun.

Dann lösche ich halt die anderen beiden Beiträge mit derselben Frage, soll mir auch recht sein.
Wichtig: Nicht mehrere Themen mit demselben Thema eröffnen (Multiposting). Wenn du ein Thema teilen möchtest um eine neue Thematik zu behandeln, dann sag bescheid dann teile ich das Thema für dich. Aber nicht einfach mehrere Beiträge gleicher Thematik erstellen, erst recht nicht ohne zusätzliche Informationen.

Nun zu deinem Problem: Du verstehst und benutzt CURL falsch. CURL ist kein Werkzeug der Darstellung in dem Sinne ein gesamtes Frameset auszugeben, sondern ein Hilfsmittel HTTP Requests (ohne Benutzeraktion) abzusetzen. Das bedeutet, dich wird in aller Regel nur der Inhalt eines bestimmten Frames interessieren. Der Frame hat eine eigene URL die du mit CURL ansprechen kannst.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Frames mit CURL darstellen

Postby Marvinzum » 19. September 2015 11:02

Ok danke. Wie kann ich die URL des Frames finden? Im Quellcode finde ich nichts...oder übersehe ich etwas?
Code: Select all
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="target-densitydpi=low-dpi" />
    <meta http-equiv="X-UA-Compatible" content="IE=100" >
    <title>Schema</title>
    <link rel="stylesheet" type="text/css" href="style/webi/jquery-ui-1.10.0.custom.css" />
    <link rel="stylesheet" type="text/css" href="style/dev.css" />
    <script type="text/javascript" src="js/jquery-1.9.0.js" ></script>
    <script type="text/javascript" src="js/jquery-ui.js" ></script>
    <script type="text/javascript" src="js/jquery.ui.touch-punch.js" ></script>
    <script type="text/javascript" src="js/schema.js" ></script>
   <script type="text/javascript">
   var os = "";
   var refreshtime = 0;
   var aktiv;
   var titel = "SCHEMA";
   var image = "";
   var notFound = "Schema nicht gefunden!";
   var howtotxt = "Wie erstelle ich ein Schema?";
   var howto =  "<div id='help'><a href='http://help.ta.co.at/DE/TA_Designer/anleitung__schritt_fur_schritt_.htm' target='_BLANK'>"
            +"<h3><img width='16' height='16' alt='help' src='images/help.png'>"+howtotxt+"</h3></a></div>";
   </script>
  </head>
  <body>
      <div style="position:relative;display:inline-block;">
        <div id="prop"></div>
        <div id="values"></div>
      <div id="schema"></div>
      <div id="changer">CHANGE</div>
     </div>
     <span id='s_OK' class='lang'>OK</span>
    <span id='s_Abbrechen' class='lang'>Abbrechen</span>
  </body>
</html>
Marvinzum
 
Posts: 12
Joined: 09. September 2015 13:37
Operating System: Windows

Re: Frames mit CURL darstellen

Postby Marvinzum » 19. September 2015 11:22

Ok ich hab es geschafft. Für alle die das selbe Problem haben: Man kann in Chrome Rechtsklick->Element untersuchen->Network->Seiten Reload->Alle Frames werden da mit Link gelistet.
Marvinzum
 
Posts: 12
Joined: 09. September 2015 13:37
Operating System: Windows

Re: Frames mit CURL darstellen

Postby Nobbie » 19. September 2015 11:23

Das ist wirklich langsam quälend. Du musst das Hauptframe öffnen (je nach Browser kann man das mit der rechten Maustaste auswählen, WELCHEN Quellcode man sehen will), der seinerseits die eingelagerten Frames enthält.

Weiß Du, wie FRAMES funktionieren? (Meine ich ernst die Frage).

P.S.: Also doch gefunden in der Zwischenzeit...
Nobbie
 
Posts: 13182
Joined: 09. March 2008 13:04


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 30 guests