Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Integracja z GUS, Pobieranie danych na podstawie NIPu
Rychu22
post 25.05.2014, 15:12:32
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.11.2012

Ostrzeżenie: (0%)
-----


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>';
Go to the top of the page
+Quote Post
sebekzosw
post 29.07.2014, 22:03:10
Post #2





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


ma ktoś rozwiązanie co do tego?
Go to the top of the page
+Quote Post
Rychu22
post 30.07.2014, 06:33:34
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.11.2012

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
casperii
post 23.08.2015, 11:08:44
Post #4





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

Ostrzeżenie: (0%)
-----


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.

Ten post edytował casperii 23.08.2015, 11:19:41
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 15:22