Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Integracja z GUS
Forum PHP.pl > Forum > PHP
Rychu22
Witam

Mam pewien problem z pobraniem danych firm ze strony: stat.gov.pl/regon/

Po wysłaniu captcha i pozostałych parametrów nie pojawiają się dane firmy tylko informacja: "PROSIMY O OCZEKIWANIE NA ODPOWIEDŹ
TRWA ŁĄCZENIE Z BAZĄ DANYCH". Na stronie (podczas wysłania zapytania przez przeglądarkę) nie pojawia się, żadne AJAXowe zapytanie.

Dostrzega ktoś jakiś błąd? Będę wdzięczny za pomoc.

  1. <?php
  2. $cookie_file = './cookies.txt';
  3. $user_agent = 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36';
  4.  
  5. // Wysłanie captcha do GUS
  6.  
  7. if ($_POST && isset($_POST['x']))
  8. {
  9. $opts = array(
  10. CURLOPT_COOKIEJAR => $cookie_file,
  11. CURLOPT_COOKIEFILE => $cookie_file,
  12. CURLOPT_USERAGENT => $user_agent,
  13. CURLOPT_REFERER => 'http://stat.gov.pl/regon/',
  14. CURLOPT_RETURNTRANSFER => true,
  15. CURLOPT_FOLLOWLOCATION => true,
  16. CURLOPT_HEADER => true,
  17. );
  18.  
  19. // Parametry POST
  20.  
  21. $post = array(
  22. 'queryTypeRBSet' => '1nip',
  23. $_POST['x'] . '00' => '',
  24. $_POST['x'] . '11' => '7582229654',
  25. 'verifCodeTF' => $_POST['x'],
  26. );
  27.  
  28. $opts[CURLOPT_POST] = true;
  29. $opts[CURLOPT_POSTFIELDS] = $post;
  30.  
  31. $curl = curl_init('http://stat.gov.pl/regon/');
  32. $data = curl_exec($curl);
  33. curl_close($curl);
  34.  
  35. echo $data;
  36. }
  37.  
  38. // Wejście 1 - pobranie sesji
  39.  
  40. $opts = array(
  41. CURLOPT_COOKIEJAR => $cookie_file,
  42. CURLOPT_COOKIEFILE => $cookie_file,
  43. CURLOPT_USERAGENT => $user_agent,
  44. CURLOPT_RETURNTRANSFER => true,
  45. CURLOPT_FOLLOWLOCATION => true,
  46. CURLOPT_HEADER => true,
  47. );
  48.  
  49. $url = 'http://stat.gov.pl/regon/';
  50.  
  51. $curl = curl_init($url);
  52. curl_setopt_array($curl, $opts);
  53. $data = curl_exec($curl);
  54. curl_close($curl);
  55.  
  56. //echo $data;
  57.  
  58. //echo file_get_contents($cookie_file);
  59.  
  60. // Pobranie i zapis obrazka
  61.  
  62. $opts = array(
  63. CURLOPT_USERAGENT => $user_agent,
  64. CURLOPT_REFERER => 'http://stat.gov.pl/regon/',
  65. CURLOPT_RETURNTRANSFER => true,
  66. CURLOPT_HEADER => false,
  67. );
  68.  
  69. $url = 'http://stat.gov.pl/regon/Captcha.jpg?' . rand(100, 1000);
  70.  
  71. $curl = curl_init($url);
  72. curl_setopt_array($curl, $opts);
  73. $data = curl_exec($curl);
  74. curl_close($curl);
  75.  
  76. file_put_contents('img.jpg', $data);
  77.  
  78. // Formularz
  79.  
  80. echo '<form method="post">
  81. <img src="img.jpg" alt="" />
  82. <input type="text" name="x" value="" />
  83. <input type="submit" value="Wyślij" />
  84. </form>';
sebekzosw
ma ktoś rozwiązanie co do tego?
Rychu22
Rozwiązanie: https://gist.github.com/ICO2010/c96caca2d9ad1f6dba73

Jest to część kontrolera w frameworku Kohana. Kod można sobie dostosować do własnego użytku.
casperii
Kolego jak rozwiązałeś ten problem ?

Czy powyższy kod jest nadal poprawnie działający? Oczywiście poza zmianą adresu do strony gov.
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.