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.
<?php
	define('CURL_UTIL_CURL_TIMEOUT', 30);
	define('CURL_UTIL_CURL_COOKIEFILE', 'tmp/cookie.data.bin');
	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');


	class CurlUtil {
		var $error;

		function httpGet($url, $referer = "")
		{
			$ch = curl_init($url);
			curl_setopt($ch, CURLOPT_VERBOSE, 0);
			// timeout beállítása
			curl_setopt($ch, CURLOPT_TIMEOUT, CURL_UTIL_CURL_TIMEOUT);
			// useragent beállítása
			curl_setopt($ch, CURLOPT_USERAGENT, CURL_UTIL_CURL_USERAGENT);
			// header infók kikapcsolása
			curl_setopt($ch, CURLOPT_HEADER, 0);
			// válasz tartalom kérése
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			// SSL ellenorzes kikapcsolasa
			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
			// Location header követése, ha a szerver küld ilyet
			curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
			// Ebben a fájlban kerülnek tárolásra a cookie információk
			curl_setopt($ch, CURLOPT_COOKIEFILE, CURL_UTIL_CURL_COOKIEFILE);
			curl_setopt($ch, CURLOPT_COOKIEJAR, CURL_UTIL_CURL_COOKIEFILE);
			// Egyéb headerök beállítása, mintha böngészőből jönnénk.
			curl_setopt($ch, CURLOPT_HTTPHEADER, array(
				"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
				"Accept-Language: en-us,en;q=0.5",
				"Accept-Encoding: ",
				"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7",
				"Keep-Alive: 300",
				"Connection: keep-alive",
			));
			// Referer beállítása.
			if ($referer) {
				curl_setopt($ch, CURLOPT_REFERER, $referer);
			}


			$content = curl_exec($ch);
			$this->error = curl_error($ch);
			curl_close($ch);
			if (empty($this->error)) {
				return $content;
			} else {
				return false;
			}
		}


		function httpPost($url, $data, $refere = "")
		{
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $url);
			curl_setopt($ch, CURLOPT_POST, 1);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
			curl_setopt($ch, CURLOPT_VERBOSE, 0);
			curl_setopt($ch, CURLOPT_HEADER, 0);
			curl_setopt($ch, CURLOPT_TIMEOUT, CURL_UTIL_CURL_TIMEOUT);
			curl_setopt($ch, CURLOPT_USERAGENT, CURL_UTIL_CURL_USERAGENT);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
			curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
			curl_setopt($ch, CURLOPT_COOKIEFILE, CURL_UTIL_CURL_COOKIEFILE);
			curl_setopt($ch, CURLOPT_COOKIEJAR, CURL_UTIL_CURL_COOKIEFILE);
			curl_setopt($ch, CURLOPT_HTTPHEADER, array(
				"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
				"Accept-Language: en-us,en;q=0.5",
				"Accept-Encoding: ",
				"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7",
				"Keep-Alive: 300",
				"Connection: keep-alive",
			));
			if ($referer) {
				curl_setopt($ch, CURLOPT_REFERER, $referer);
			}

			$content = curl_exec($ch);
			$this->error = curl_error($ch);
			curl_close ($ch);
			if (empty($this->error)) {
				return $content;
			} else {
				return false;
			}
		}
	}
?>
Felhő