WebWork Magazin - Design, Gestaltung, Online Medien, html

Webhosting Provider Domain

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Https kommunikation mit einen entfernten Server generieren

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. FRagen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Https kommunikation mit einen entfernten Server generieren Antworten
im Forum für Webhosting Homepage gefunden:
Https kommunikation mit einen entfernten Server generieren
Austin Powers
Mausakrobat
Threadstarter




Beiträge: 169

OK altes Problem neue Auflage.
Folgendes muß mein script machen:
1. Entfernte Seite aufrufen
2. Logindaten per https übermitteln (geht nur per https)
3. Session Cookie empfangen
4. Unterseite aufrufen und dabei den session Cookie senden
5. Daten der Seite auslesen und Information extrahieren.
(es sind meine Daten, nur das sie halt von jemanden anders geniert werden... aus so einer art online Spiel, ich will nur meine ganz individuelle Homepage daraus machen, und immer die aktuellsten Daten verwenden)
Soweit so gut.. es geht alles bisher, bis auf den https Teil, ich weiß einfach nicht was ich machen muß um eine https Komunikation zwischen zwei Servern aufzubauen..... eine Lücke im Basiswissen. Ich hab mal in snoopy reingeschaut aber curl sagt mir nicht so viel. (Linux ist immer noch ein böhmisches Dorf mit sieben Siegeln für mich ... oder wie ging der Spruch)
Hier wie es soopy macht:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78: 
79: 
80: 
81: 
82: 
83: 
84: 
85: 
86: 
87: 
88: 
89: 
90: 
91: 
92: 
93: 
94: 
95: 
96: 
97: 
98: 
99: 
100: 
101: 
102: 
103: 
104: 
105: 
106: 
107: 
108: 
109: 
110: 
111: 
112: 
113: 
114: 
115: 
116: 
117: 
118: 
119: 
120: 
121: 
122: 
123: 
124: 
125: 
126: 
127: 
128: 
129: 
130: 
131: 
132: 
133: 
134: 
135: 
136: 
137: 
138: 
139: 
140: 
141: 
142: 
143: 
144: 
145: 
146: 
147: 
148:
/*======================================================================*\
	Function:	_httpsrequest
	Purpose:	go get the https data from the server using curl
	Input:		$url		the url to fetch
				$URI		the full URI
				$body		body contents to send if any (POST)
	Output:
\*======================================================================*/

	function _httpsrequest($url,$URI,$http_method,$content_type="",$body="")
	{
		if($this->passcookies && $this->_redirectaddr)
			$this->setcookies();

		$headers = array();

		$URI_PARTS = parse_url($URI);
		if(empty($url))
			$url = "/";
		// GET ... header not needed for curl
		//$headers[] = $http_method." ".$url." ".$this->_httpversion;
		if(!empty($this->agent))
			$headers[] = "User-Agent: ".$this->agent;
		if(!empty($this->host))
			if(!empty($this->port))
				$headers[] = "Host: ".$this->host.":".$this->port;
			else
				$headers[] = "Host: ".$this->host;
		if(!empty($this->accept))
			$headers[] = "Accept: ".$this->accept;
		if(!empty($this->referer))
			$headers[] = "Referer: ".$this->referer;
		if(!empty($this->cookies))
		{
			if(!is_array($this->cookies))
				$this->cookies = (array)$this->cookies;

			reset($this->cookies);
			if ( count($this->cookies) > 0 ) {
				$cookie_str = 'Cookie: ';
				foreach ( $this->cookies as $cookieKey => $cookieVal ) {
				$cookie_str .= $cookieKey."=".urlencode($cookieVal)."; ";
				}
				$headers[] = substr($cookie_str,0,-2);
			}
		}
		if(!empty($this->rawheaders))
		{
			if(!is_array($this->rawheaders))
				$this->rawheaders = (array)$this->rawheaders;
			while(list($headerKey,$headerVal) = each($this->rawheaders))
				$headers[] = $headerKey.": ".$headerVal;
		}
		if(!empty($content_type)) {
			if ($content_type == "multipart/form-data")
				$headers[] = "Content-type: $content_type; boundary=".$this->_mime_boundary;
			else
				$headers[] = "Content-type: $content_type";
		}
		if(!empty($body))
			$headers[] = "Content-length: ".strlen($body);
		if(!empty($this->user) || !empty($this->pass))
			$headers[] = "Authorization: BASIC ".base64_encode($this->user.":".$this->pass);

		for($curr_header = 0; $curr_header < count($headers); $curr_header++) {
			$safer_header = strtr( $headers[$curr_header], "\"", " " );
			$cmdline_params .= " -H \"".$safer_header."\"";
		}

		if(!empty($body))
			$cmdline_params .= " -d \"$body\"";

		if($this->read_timeout > 0)
			$cmdline_params .= " -m ".$this->read_timeout;

		$headerfile = tempnam($temp_dir, "sno");

		$safer_URI = strtr( $URI, "\"", " " ); // strip quotes from the URI to avoid shell access
		exec($this->curl_path." -D \"$headerfile\"".$cmdline_params." \"".$safer_URI."\"",$results,$return);

		if($return)
		{
			$this->error = "Error: cURL could not retrieve the document, error $return.";
			return false;
		}


		$results = implode("\r\n",$results);

		$result_headers = file("$headerfile");

		$this->_redirectaddr = false;
		unset($this->headers);

		for($currentHeader = 0; $currentHeader < count($result_headers); $currentHeader++)
		{

			// if a header begins with Location: or URI:, set the redirect
			if(preg_match("/^(Location: |URI: )/i",$result_headers[$currentHeader]))
			{
				// get URL portion of the redirect
				preg_match("/^(Location: |URI:)\s+(.*)/",chop($result_headers[$currentHeader]),$matches);
				// look for :// in the Location header to see if hostname is included
				if(!preg_match("|\:\/\/|",$matches[2]))
				{
					// no host in the path, so prepend
					$this->_redirectaddr = $URI_PARTS["scheme"]."://".$this->host.":".$this->port;
					// eliminate double slash
					if(!preg_match("|^/|",$matches[2]))
							$this->_redirectaddr .= "/".$matches[2];
					else
							$this->_redirectaddr .= $matches[2];
				}
				else
					$this->_redirectaddr = $matches[2];
			}

			if(preg_match("|^HTTP/|",$result_headers[$currentHeader]))
				$this->response_code = $result_headers[$currentHeader];

			$this->headers[] = $result_headers[$currentHeader];
		}

		// check if there is a a redirect meta tag

		if(preg_match("'<meta[\s]*http-equiv[^>]*?content[\s]*=[\s]*[\"\']?\d+;[\s]*URL[\s]*=[\s]*([^\"\']*?)[\"\']?>'i",$results,$match))
		{
			$this->_redirectaddr = $this->_expandlinks($match[1],$URI);
		}

		// have we hit our frame depth and is there frame src to fetch?
		if(($this->_framedepth < $this->maxframes) && preg_match_all("'<frame\s+.*src[\s]*=[\'\"]?([^\'\"\>]+)'i",$results,$match))
		{
			$this->results[] = $results;
			for($x=0; $x<count($match[1]); $x++)
				$this->_frameurls[] = $this->_expandlinks($match[1][$x],$URI_PARTS["scheme"]."://".$this->host);
		}
		// have we already fetched framed content?
		elseif(is_array($this->results))
			$this->results[] = $results;
		// no framed content
		else
			$this->results = $results;

		unlink("$headerfile");

		return true;
	}

vieles davon brauch ich auch gar nicht...(redirs & frames)
Ich würd das auch gerne machen ohne ein File zu schreiben..so just aus dem ram nur falls möglich... meinen Bastlercode veröffentliche ich hier erstmal nicht... den müste ich erstmal "säubern" (ist eh nur http), wenn einer ne Idee hat einfach melden.
P.S.: für den Login müßte nur ein Form mit drei Feldern übertragen werden.
1. feld username
2. feld passwort
3. feld "log in"="log in"

---
MfG:Austin Power (Saturn Realm)
OMW! Zumindest sobald ich herausgefunden hab wo ich JETZT gerade bin.
<---------->
"Wenn Liebe die Antwort ist, könnst Du bitte die Frage neu formulieren?" ... Lily Tomlin
<---------->
code hier http://www.pastebin.com

Diese Nachricht wurde geändert von: Austin Powers
  Profil   Website   Editieren   Zitieren
Austin Powers
Mausakrobat
Threadstarter




Beiträge: 169

ok hier mal was ich habe ... ist allerding ne große baustelle

http://kitzune.pastebin.com/m4e974542

---
MfG:Austin Power (Saturn Realm)
OMW! Zumindest sobald ich herausgefunden hab wo ich JETZT gerade bin.
<---------->
"Wenn Liebe die Antwort ist, könnst Du bitte die Frage neu formulieren?" ... Lily Tomlin
<---------->
code hier http://www.pastebin.com

  Profil   Website   Editieren   Zitieren
 

Antworten


Forum » PHP & MySQL » Https kommunikation mit einen entfernten Server generieren

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Https kommunikation mit einen entfernten Server generieren im Forum Homepage Hosting AntwortenLetztes Posting
Top 10 Forex Brokers and Trading Platforms to trade online
in "PHP & MySQL"
0 16.11.2017 09:37 von Pelelliki
Schnell viel Geld ohne Aufwand verdienen, mit dem Smartphone
in "PHP & MySQL"
5 07.09.2017 19:25 von Angel26
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
0 03.09.2017 22:01 von Tainor
CMS für Online Shop
in "PHP & MySQL"
20 07.08.2017 05:54 von Isasimon
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon
Fertige PHP Scripte für Ihre Homepage
in "PHP & MySQL"
0 16.12.2015 12:02 von PHP-Script-Shop
Callback Befehl ++ Session ID Eintrag +++
in "PHP & MySQL"
2 16.12.2015 11:57 von PHP-Script-Shop
PHP befehl ausführen
in "PHP & MySQL"
9 16.12.2015 11:52 von PHP-Script-Shop
suche online community script
in "PHP & MySQL"
3 16.12.2015 11:51 von PHP-Script-Shop
Text basierender Chat
in "PHP & MySQL"
5 16.12.2015 11:51 von PHP-Script-Shop



Besucher : 5376100    Heute : 468     Gestern : 1431     Online : 24     21.11.2017    9:19      0 Besucher in den letzten 60 Sekunden        
Die letzten 30 Referrer :

1 4:17 - google.com/search - content
2 4:15 - google.com/search - content
3 3:57 - google.com/search - content
4 3:13 - google.com/search - content
5 2:41 - google.com/search - content
6 2:22 - google.com/search - content
7 2:18 - google.com/search - content
8 2:16 - google.com/search - content
9 2:13 - google.com/search - content
10 2:12 - google.com/search - content
11 2:10 - google.com/search - content
12 2:09 - google.com/search - content
13 2:05 - google.com/search - content
14 2:02 - google.com/search - content
15 1:25 - google.com/search - content
16 1:02 - google.com/search - content
17 23:32 - google.com/search - content
18 22:58 - google.com/search - content
19 21:09 - google.com/search - content
20 21:00 - google.com/search - content
21 20:51 - bing.com/search - patchday november 2017
22 18:04 - google.com/search - content
23 18:03 - google.com/search - content
24 18:00 - google.com/search - content
25 17:34 - google.com/search - content
26 17:30 - google.com/search - content
27 16:08 - google.com/search - content
28 15:44 - bing.com/search - knistern boxen pc
29 15:13 - google.com/search - content
30 14:30 - google.com/search - content

Nach oben