ugrás a tartalomhoz

get metódus https-en kersztül

KergeKacsa · 2006. Már. 30. (Cs), 22.59
Sziasztok!

Elakadtam egy problémával.
Adott egy oldal, amit https-en keresztül érek el név és jelszó megadásával, illetve után 2 GET metódussal átadott paraméterrel tudok tőle adatokat lekérdezni.
Namármost szeretném ezeket az adatokat php-ben lekérdezni.

Viszont eddigh cirka fél napja próbálkozok, de sehogy nem tudok egy müködő meoldást összerakni alá, pedig elég sokfelé kerestem.
(fopen sikít, ha https://-t adok neki, a curl-ban pedig el-elakadok a hitelesítésnél.)

Windows-Apache páros alá kéne, csak itthonról futna.

Tudna valaki egy kódrészletet mutatni, hogy neki hogy müködik?
 
1

CurlUtil osztály

Hodicska Gergely · 2006. Már. 30. (Cs), 23.39
Szia!


Én ezt az osztályt szoktam használni, működik HTTPS esetén is.
  1. <?php  
  2.     define('CURL_UTIL_CURL_TIMEOUT', 30);  
  3.     define('CURL_UTIL_CURL_COOKIEFILE''tmp/cookie.data.bin');  
  4.     define('CURL_UTIL_CURL_USERAGENT''Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4');  
  5.   
  6.   
  7.     class CurlUtil {  
  8.         var $error;  
  9.   
  10.         function httpGet($url$referer = "")  
  11.         {  
  12.             $ch = curl_init($url);  
  13.             curl_setopt($ch, CURLOPT_VERBOSE, 0);  
  14.             // timeout beállítása  
  15.             curl_setopt($ch, CURLOPT_TIMEOUT, CURL_UTIL_CURL_TIMEOUT);  
  16.             // useragent beállítása  
  17.             curl_setopt($ch, CURLOPT_USERAGENT, CURL_UTIL_CURL_USERAGENT);  
  18.             // header infók kikapcsolása  
  19.             curl_setopt($ch, CURLOPT_HEADER, 0);  
  20.             // válasz tartalom kérése  
  21.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  22.             // SSL ellenorzes kikapcsolasa  
  23.             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);  
  24.             curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);  
  25.             // Location header követése, ha a szerver küld ilyet  
  26.             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
  27.             // Ebben a fájlban kerülnek tárolásra a cookie információk  
  28.             curl_setopt($ch, CURLOPT_COOKIEFILE, CURL_UTIL_CURL_COOKIEFILE);  
  29.             curl_setopt($ch, CURLOPT_COOKIEJAR, CURL_UTIL_CURL_COOKIEFILE);  
  30.             // Egyéb headerök beállítása, mintha böngészőből jönnénk.  
  31.             curl_setopt($ch, CURLOPT_HTTPHEADER, array(  
  32.                 "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",  
  33.                 "Accept-Language: en-us,en;q=0.5",  
  34.                 "Accept-Encoding: ",  
  35.                 "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7",  
  36.                 "Keep-Alive: 300",  
  37.                 "Connection: keep-alive",  
  38.             ));  
  39.             // Referer beállítása.  
  40.             if ($referer) {  
  41.                 curl_setopt($ch, CURLOPT_REFERER, $referer);  
  42.             }  
  43.   
  44.   
  45.             $content = curl_exec($ch);  
  46.             $this->error = curl_error($ch);  
  47.             curl_close($ch);  
  48.             if (emptyempty($this->error)) {  
  49.                 return $content;  
  50.             } else {  
  51.                 return false;  
  52.             }  
  53.         }  
  54.   
  55.   
  56.         function httpPost($url$data$refere = "")  
  57.         {  
  58.             $ch = curl_init();  
  59.             curl_setopt($ch, CURLOPT_URL, $url);  
  60.             curl_setopt($ch, CURLOPT_POST, 1);  
  61.             curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  
  62.             curl_setopt($ch, CURLOPT_VERBOSE, 0);  
  63.             curl_setopt($ch, CURLOPT_HEADER, 0);  
  64.             curl_setopt($ch, CURLOPT_TIMEOUT, CURL_UTIL_CURL_TIMEOUT);  
  65.             curl_setopt($ch, CURLOPT_USERAGENT, CURL_UTIL_CURL_USERAGENT);  
  66.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  67.             curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);  
  68.             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);  
  69.             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
  70.             curl_setopt($ch, CURLOPT_COOKIEFILE, CURL_UTIL_CURL_COOKIEFILE);  
  71.             curl_setopt($ch, CURLOPT_COOKIEJAR, CURL_UTIL_CURL_COOKIEFILE);  
  72.             curl_setopt($ch, CURLOPT_HTTPHEADER, array(  
  73.                 "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",  
  74.                 "Accept-Language: en-us,en;q=0.5",  
  75.                 "Accept-Encoding: ",  
  76.                 "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7",  
  77.                 "Keep-Alive: 300",  
  78.                 "Connection: keep-alive",  
  79.             ));  
  80.             if ($referer) {  
  81.                 curl_setopt($ch, CURLOPT_REFERER, $referer);  
  82.             }  
  83.   
  84.             $content = curl_exec($ch);  
  85.             $this->error = curl_error($ch);  
  86.             curl_close ($ch);  
  87.             if (emptyempty($this->error)) {  
  88.                 return $content;  
  89.             } else {  
  90.                 return false;  
  91.             }  
  92.         }  
  93.     }  
  94. ?>  
Felhő