Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nawiązywanie połączenia po https
Forum PHP.pl > Forum > PHP
Jarod
Php 5.2.0 z włączoną obsługą openssl.

Udało mi się nawiązać połączenie z serwerem po ssl w następujący sposób:
  1. <?php
  2. $fp=fsockopen("ssl://adres_serwera", 443, $errno, $errstr, 1);
  3. ?>

Nie dostaję błędu czyli jest ok. Mam kilka pytań.

1. W jaki sposób przesyłać dane (każde żądanie) do serwera i odbierać z serwera wykorzystując ssl? (post, get, nie tracić połączenia przy linkach)
2. Jak sprawdzić czy żądania wychodzące/przychodzące są rzeczywiście zaszyfrowane?
Jarod
Cytat(netmare @ 16.06.2008, 12:42:25 ) *


Chodzi mi o jakiś praktyczny przykład a nie czystą teorię.
Liko
Posłuż się CURL-em. W sieci jest mnóstwo przykładów.

  1. <?php
  2.  
  3. /**
  4. * Open an url on https using curl and return content
  5. *
  6. * @author hatem <info@phptunisie.net>
  7. * @param string url The url to open
  8. * @param string refer Referer (optional)
  9. * @param mixed usecookie If true, cookie.txt will be used as default, or the usecookie value.
  10. * @return string
  11. */
  12. function open_https_url($url,$refer = "",$usecookie = false) {
  13.  
  14. if ($usecookie) {
  15.  
  16. if (file_exists($usecookie)) {
  17.  
  18. if (!is_writable($usecookie)) {
  19.  
  20. return "Can't write to $usecookie cookie file, change file permission to 777 or remove read 
    only for windows."
    ;
  21. }
  22. } else {
  23. $usecookie = "cookie.txt";
  24. if (!is_writable($usecookie)) {
  25.  
  26. return "Can't write to $usecookie cookie file, change file permission to 777 or remove read 
    only for windows."
    ;
  27. }
  28. }
  29.  
  30. }
  31.  
  32. $ch = curl_init();
  33.  
  34. curl_setopt($ch, CURLOPT_URL, $url);
  35.  
  36. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  37.  
  38. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  39.  
  40. curl_setopt($ch, CURLOPT_HEADER, 1);
  41.  
  42. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
  43.  
  44. if ($usecookie) {
  45. curl_setopt($ch, CURLOPT_COOKIEJAR, $usecookie);
  46.  
  47. curl_setopt($ch, CURLOPT_COOKIEFILE, $usecookie);  
  48. }
  49.  
  50. if ($refer != "") {
  51.  
  52. curl_setopt($ch, CURLOPT_REFERER, $refer );
  53.  
  54. }
  55.  
  56. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  57.  
  58.  $result =curl_exec ($ch);
  59.  
  60.  curl_close ($ch);
  61.  
  62.  return $result;
  63. }
  64. ?>
Jarod
@Liko: Dzięki. A jak wygląda sprawa z niceurl? Jak curl sobie z tym radzi? Gdzieś dorwałem prosty przykład ale wygląda na to, że trzeba podawać adresy w formie ?param=value&param2=value2&...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.