ip-adres:port in plaats van url

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paul Bekkers

Paul Bekkers

23/09/2015 07:47:49
Quote Anchor link
Begin net weer wat met php te klooien na een periode van 6 jaar.
Loop natuurlijk meteen tegen mijn grenzen aan.

Ik probeer een jpg op te slaan van een html pagina die mijn ip-cam genereert.
Die ip-cam roep ik aan met ip-adres en poortnummer (zoals http://123.123.123.123:2200).

Nou lukt het me wél de source code van willekeurige URL's op te halen en daar een plaatje uit op te slaan, maar bij die ip-cam lijkt het fout te gaan bij het ip-adres + poort in plaats van een 'normale' url.

Iemand tips over hoe ik dat moet doen? Googlen met ip-adres en php als termen geeft eigenlijk alleen resultaten over het retrieven van ip-adressen.
 
PHP hulp

PHP hulp

23/01/2025 20:32:57
 
Eddy E

Eddy E

23/09/2015 08:03:30
Quote Anchor link
Al geprobeerd met cURL()?

Daarmee kan je ook sessies openen en wel specifieke poorten openen.
Van http://php.net/manual/en/function.curl-setopt.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
curl_setopt($ch, CURLOPT_URL, "http://www.example.com:1234");
 
Paul Bekkers

Paul Bekkers

23/09/2015 09:29:36
Quote Anchor link
Thanks, dat was inderdaad 1 van de opties die ik probeerde, maar onderstaande code geeft een leeg resultaat.
Wat zie ik over het hoofd?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// create curl resource
        $ch = curl_init();

        // set url
        curl_setopt($ch, CURLOPT_URL, "http://123.123.123.123:2200");

        //return the transfer as a string
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        // $output contains the output string
        $output = curl_exec($ch);

        // close curl resource to free up system resources
        curl_close($ch);  

    echo $output;
?>
Gewijzigd op 23/09/2015 12:40:14 door Paul Bekkers
 
Ivo P

Ivo P

23/09/2015 11:59:57
Quote Anchor link
Is dat je camera, of de een of andere foscam server die meerdere camera's aanroept?

Los daarvan:
je vergeet een password mee te geven.

mogelijk werkt http://jeusername:jepassword@84.xxxxx:2200/


(nb: ik zou het ip adres verwijderen uit je post)


dus http:// een-username : een-password @ ipadres : portnummer
(want phphulp verhaspeld de link)
Gewijzigd op 23/09/2015 12:01:07 door Ivo P
 
Paul Bekkers

Paul Bekkers

23/09/2015 12:49:27
Quote Anchor link
(Bedankt voor de tip. Is aangepast.)

Dit was mijn eerste stap: eerst de config pagina van de camera benaderen. Zou ook moeten werken.
Volgende stap zou zijn de volledige URL naar het snapshot (incl. username en wachtwoord):
http://123.123.123.123:2200/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxx&pwd=xxx
 
Ivo P

Ivo P

23/09/2015 13:46:36
Quote Anchor link
maar spreek jij nu de camera zelf aan, of een server die er nog voor zit?

Ik ken met name camera's die aangesproken worden met http://10.0.0.1:99/snapshot.cgi of /videostream.cgi voor bewegend beeld.
Er zijn uitzonderingen, maar de Foscam cams doen het (veelal) zo.
 
Paul Bekkers

Paul Bekkers

23/09/2015 15:04:11
Quote Anchor link
De camera zelf. Deze URL heb ik expliciet van het Foscam forum zelf.

Het probleem lijkt dus wel te zitten in de ip:poort combinatie in plaats van de rest van de URL, aangezien http://123.123.123.123:2200 ook niet werkt.
Gewijzigd op 23/09/2015 15:06:25 door Paul Bekkers
 
Ivo P

Ivo P

23/09/2015 15:14:08
Quote Anchor link
blokt je firewall uitgaand verkeer?

Waar draait het php-script? op een server in een datacenter, of in het lokale netwerk waarin ook de camera hangt?

Toevoeging op 23/09/2015 15:16:45:

als ik de url aanroep, krijg ik xml terug:

<CGI_Result>
<result>-2</result>
</CGI_Result>

als ik het password leeg laat,

en -1 als ik geen usr/pwd opgeef.
 
Paul Bekkers

Paul Bekkers

23/09/2015 15:19:20
Quote Anchor link
Welke Firewall? Die van de hosting provider of die van mijn router thuis? (die staat nl. uit).
Script draait bij de hosting provider.

Maar als een browser exact dezelfde URL kan openen, moet PHP dat toch ook kunnen?
 
Ivo P

Ivo P

23/09/2015 15:29:16
Quote Anchor link
de firewall van de provider bedoel ik

werkt je curl script wel als je via poort 80 de site van phphulp.nl opvraagt?
ofwel: heeft je provide niet de curl-functies geblokt?
 
Paul Bekkers

Paul Bekkers

23/09/2015 17:13:22
Quote Anchor link
Ik had, bij wijze van test eerst onderstaande geprobeerd.
Dat werkte prima.
Dus curl werkt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// create curl resource
        $ch = curl_init();

        // set url
        curl_setopt($ch, CURLOPT_URL, "http://www.example.com:80");

        //return the transfer as a string
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        // $output contains the output string
        $output = curl_exec($ch);

        // close curl resource to free up system resources
        curl_close($ch);  

    echo $output;
?>
 
Ivo P

Ivo P

23/09/2015 17:22:47
Quote Anchor link
ik heb net
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// create curl resource
        $ch = curl_init();

        // set url
        curl_setopt($ch, CURLOPT_URL, "http://84.xxx:2200/");

        //return the transfer as a string
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        // $output contains the output string
        $output = curl_exec($ch);

        // close curl resource to free up system resources
        curl_close($ch);

    echo $output;
?>


geprobeerd op mijn server.
Dat geeft een html pagina (in unicode)

dus kennelijk is het iets op jouw server dat je niet naar buiten kunt.
of jouw camera blokt specifiek het ip van de server van jou, maar dat lijkt me onwaarschijnlijk.
 
Paul Bekkers

Paul Bekkers

23/09/2015 19:10:43
Quote Anchor link
Aha, gevonden.
Mijn webhoster blokkeert blijkbaar een hoop poorten. example.com:80 werkt wel, example.com/81 niet. Dat ga ik dus even bij mijn hoster uitzoeken.

Toevoeging op 24/09/2015 09:29:05:

De reactie van de helpdesk van mijn webhoster:

"Bedankt voor uw bericht. Buiten de standaard services-poorten zoals poort 80,21,25 etc. staan er geen andere poorten open op onze firewalls. Dit ter voorkoming van misbruik. Er moet dan ook een goede reden zijn waarom we deze poort zouden toestaan."
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.