Dane z GUS - NIP

0

Witam,
użyłem powyższego kodu ale niestety nie wyświetla mi się captcha... Gdzie może być błąd?

0

Mi ten kod wciąż działa. Na pewno zainstalowałeś pecl http?

0

Bez zainstalowanego pecl'a miałem błąd "Brak klasy httprequest", po instalacji ruszyło ale bez obrazka... :(

0

Masz włączone pokazywanie błędów?

Wklej adres obrazka bezpośrednio, pobierz go i otwórz edytorem tekstowym. Być może tam skrył się jakiś błąd PHP.

0

Tak, mam włączone na poziomie tworzenia aplikacji...
Nie bardzo zrozumiałem co mam zrobić z obrazkiem :(

0

Nie wiem czy ma to znaczenie ale instalowałem tylko php_http.dll.

0

Problem był po stronie serwera. Pomogło:

while (@ob_end_clean());

przed wywołaniem headera:

header('Content-type: image/jpeg');

Dzięki za pomoc...

0

Upewnij się, że przed <?php nie masz żadnych białych znaków (spacji) czy UTF BOM.

0

Funkcja parsera danych.
Wymaga klasy simple_html_dom.php i zmiany w niej linii (nr ok 75):

$contents = file_get_contents($url, $use_include_path, $context, $offset); 

na

$contents = $url;

W klasie NipRequest definujemy zmienną publiczną $iddata:

...    
    const REQUEST_PHASE = 3;
    const COMPLETED_PHASE = 4;
    
    public $iddata;//dodana zmienna

    private $phase; 
...

FUNKCJA:

public function parse_response($response) {
        include ('simple_html_dom.php');       
        
        $html = file_get_html($response);

        foreach ($html->find('tr') as $row) {
            $ids[] = $row->find('td',1)->plaintext;
        }
        $this->iddata['regon'] = trim($ids[0]);
        $this->iddata['nip'] = trim($ids[1]);
        $this->iddata['nazwa'] = trim($ids[2]);
        $this->iddata['nazwisko'] = trim($ids[3]);
        $this->iddata['imie'] = trim($ids[4]);
        $this->iddata['woj'] = trim($ids[5]);
        $this->iddata['powiat'] = trim($ids[6]);
        $this->iddata['poczta'] = trim($ids[7]);
        
        $address = preg_replace('/\s+/', ' ',$ids[8]);
        $address = trim(substr($address, 0, strpos($address,',')));
        $address = str_replace('UL.', 'ul.', $address);
        $address = str_replace(' lok.', '/', $address);
        $this->iddata['adres'] = $address;
        $this->iddata['kod'] = substr($ids[9],0,6);
        $this->iddata['miasto'] = substr($ids[9],7);
    }

JEJ WYWOŁANIE

$response = $request->parse_response($response);
print var_dump($request->iddata);//wyswietla w oknie tablice
0

Wszystko jest ok ale...
muszę uzyskać captcha przez zapytanie ajax i tu utknąłem. Nie wiem jak to obejść :(

0

Przygotuj sobie plik PHP, w którym w zależności od parametru będą wywoływane poszczególne metody (nie zapomnij, żeby operować cały czas na tym samym obiekcie przekazywanym w sesji).

  1. Gdy użytkownik zgłosi chęć pobrania danych na podstawie NIP: $request->initialize();.
  2. Gdy będziesz chciał mu wyświetlić captchę: $request->fetch_captcha(); (zwróci obrazek).
  3. Gdy użytkownik wpisze numer nip i rozwiąże captchę: $request->send_request(captcha, nip);
  4. Gdy będzie chciał odebrać dane: $request->get_response();.

1 i 2 oraz 3 i 4 można połączyć. Wtedy wystarczą dwa odwołania.

0

Dzięki za odpowiedź. Po części udało mi się opanować temat z tym że... :)
w jaki sposób pobrać obraz captcha (aktualnie otrzymuje obraz w string), próbowałem przy użyciu data:image/jpeg;base64 niestety nie działa :(

mój błąd- nie dałem base64_encode w .php.

0

Jeszcze prosiłbym o pomoc z ciasteczkami.
Kiedy skrypt pracuje jako osobna strona wszystko jest ok, kiedy wrzuciłem go do głównej aplikacji, captcha pobiera i wyświetla prawidłowo, dane wysyła ale za każdym razem otrzymuję informację, że moja przeglądarka ma wyłączony mechanizm cookies. Jak rozwiązać ten problem?

0

Wielki comback ...

Po instalacji certyfikatu ssl obrazek przestał być pobierany. httprequest zwraca:
Wystąpił błąd. Empty or too short HTTP message: ''
Jak to ominąć?

0
fangel napisał(a):

Jeszcze prosiłbym o pomoc z ciasteczkami.
Kiedy skrypt pracuje jako osobna strona wszystko jest ok, kiedy wrzuciłem go do głównej aplikacji, captcha pobiera i wyświetla prawidłowo, dane wysyła ale za każdym razem otrzymuję informację, że moja przeglądarka ma wyłączony mechanizm cookies. Jak rozwiązać ten problem?

Poradziłeś sobie z tym problemem ?
Utknąłem w tym samym miejscu :(

0

Sprzedam gotowe rozwiązanie z tym GUS-em, kontakt PW.

0

Zabawne... Zaczynałem swoją przygodę z tym tematem jeszcze przed rozpoczęciem tego wątku, po czym ze względu na priorytety zadanie zostało zamknięte i teraz po prawie dziewięcio-miesięcznej karencji zgłoszenie zostało ponownie otwarte, a tu widzę wątek niemal w tej samej godzinie ożył :).
Na razie jeszcze spróbuję pokombinować jeszcze coś na własną rękę, bo w zasadzie wątek nie wniósł jakichś spektakularnych nowości, które by mi otworzyły oczy :) ale z ciekawości zapytam... Za ile to gotowe rozwiązanie?

0

Fajnie wszystko działa, klasa i przyklad. Pobiera capcia i wyswietla dane. No ale jak to zrobic za pomoca samego CURLA i parsowaniu nagłówków. BEZ pecla. Nie kazdym hosting chce go uruchamiac.
Ktoś przedstawi przyklad na zamym CURL ?

Zatem przedstawiam przykład na samym CURlu bez Pecl
http://gus.yum.pl/gus.php
Wersja z Pecl
http://gus.yum.pl/

0

Możesz gdzieś zamieścić kod do działającego przykładu? Byłby bardzo przydatny ...

0

Trochę wody w Wiśle upłynęło od czasu, gdy dyskutowaliście nad rozwiązaniem, które pozwoli na pobieranie informacji o firmach.

W związku z tym, że w dalszym ciągu rynek wyraża zapotrzebowanie na produkt / aplikację pozwalającą na parsowanie CEIDG - zapraszam do sprawdzenia gotowego rozwiązania na www.ceidg-api.pl

0

http://4programmers.net/Forum/929060

tu jest działajacy przyklad na peclu i to jako klasa. przerobienie tego na CURLA dla myslącego nie zajmie dluzej niz 1 wieczor. Prosze przeczytac caly temat i myśleć . Tu sa wystarczajace podpowiedzi.

0

Niestety powyższy kod już nie działa. Na wyjściu zwrócona jest co prawda strona z wynikiem, jednak jest ona "pusta". W sensie nie ma żadnych danych o firmie, którą szukamy.

0

GUS chyba zmienił coś w swoim "api", jeszcze nie wiem co, mój kod też przestał działać

0

Mój ciągle działa. Zauważyłem ostatnio jedną zmianę, ale nie byłem pewien, czy to wina GUS-u, czy tego że zaktualizowałem cURL'a. Cały Header z treścią cookies był wcześniej oddzielony kilkoma \n, natomiast teraz zupełnie ich nie ma - wszystko jest w jednej linii. Jeśli rozdzielaliście Header i treść na podstawie tych linii to prawdopodobnie dlatego nie działa.

0

Fajny skrypt, chcialem wykorzystać ale mam problem z instalacją pecla na najnowszej wersji xamppa. Próbowałem wszystkie wersje ze strony: http://windows.php.net/downloads/pecl/releases/http/2.1.2/

I za kazdym razem jest problem. Prosze o pomoc ... ;/

0

Dzień dobry,

Nasza firma oferuje zaawansowaną aplikację, klasę PHP, która pozwala na bezobsługowe pobieranie danych firm z Centralnej Ewidencji i Informacji o Działalności Gospodarczej, należącej do Ministerstwa Gospodarki.

Więcej informacji pod adresem www.ceidg-api.plpi.pl lub adresem e-mail: [email protected]

0

Dam za to 50 dych - > [email protected]

1 użytkowników online, w tym zalogowanych: 0, gości: 1