[PHP] Instellen van user-agent als mijn script site bezoekt.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Hi,

Ik heb een PHP scriptje dat RSS feeds ophaalt en in een database gooit.

Ik doe dit via cron, elk uur, door het 'ophaal & parse' scriptje te draaien via een basic Linux shell scriptje:
php -f /path-to-script/syndicate.php 
.

Is er een manier om, als mijn script dus een site bezoekt om de RSS feed op te halen, hem netjes een bepaalde (zelfverzonnen) user-agent string weer te laten geven in de httpd-logs van die site ? Bijv. 'RSS-bot v1.42' ofzo ?

En zo ja , hoe stel ik dit dan in ?

Momenteel laat hij nl. een lege user-agent string zien ("-").

[ Voor 6% gewijzigd door BoXie op 27-02-2005 18:46 ]


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Ja, mbv de header-functie in PHP de header "User-Agent" toe te voegen.. Moet je ff je script induiken ;)

Acties:
  • 0 Henk 'm!

  • kunnen
  • Registratie: Februari 2004
  • Niet online
Osiris schreef op zondag 27 februari 2005 @ 18:49:
Ja, mbv de header-functie in PHP de header "User-Agent" toe te voegen.. Moet je ff je script induiken ;)
Volgens mij werkt dit niet voor het openen van een externe source?

PHP:
1
2
header("User-Agent: blah");
fopen(...);


Werkt niet, toch? Die header wordt verstuurd naar de browser... :?

[ Voor 10% gewijzigd door kunnen op 27-02-2005 19:03 ]


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Pulsher schreef op zondag 27 februari 2005 @ 19:02:
Volgens mij werkt dit niet voor het openen van een externe source?

PHP:
1
2
header("User-Agent: blah");
fopen(...);


Werkt niet, toch? Die header wordt verstuurd naar de browser... :?
Uiteraard niet, Osiris geeft idd niet helemaal een goed voorbeeld. Je moet een header naar de webserver versturen (fwrite bijvoorbeeld, of met de curl library), niet naar de uitvoerende entiteit van het script (console, browser, whatever).

[ Voor 6% gewijzigd door ACM op 27-02-2005 20:12 ]


Acties:
  • 0 Henk 'm!

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

Ik neem aan dat je in je script een string hebt met je HTTP request.
Als je daarin een
code:
1
User-Agent: RSSBot/0.1

toevoegd moet het gewoon werken.

Nu met Land Rover Series 3 en Defender 90


Acties:
  • 0 Henk 'm!

  • Pastinakel
  • Registratie: December 2000
  • Laatst online: 19-09 00:02

Pastinakel

Zwammen en kwazoedels

http://nl2.php.net/manual...system.php#ini.user-agent
http://nl2.php.net/manual/nl/function.ini-set.php

Dus moet je dit in je script proppen vóór dat ie gaat fopen'en oid:
PHP:
1
ini_set(user_agent,"RSSLeecher 1.0");

[ Voor 24% gewijzigd door Pastinakel op 27-02-2005 21:02 ]

Ik kan je niet helpen. De frutsel is warrig en niet knopig. Bovendien heb ik maar één kant | Scrobblernakel


Acties:
  • 0 Henk 'm!

  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Ok ik heb de methode gebruikt die Pastinakel schreef .. Werkt perfect .. bedankt mensen !

code:
1
ini_set(user_agent,"Mijnsite.nl - RSS Engine v1.0 - Bedankt voor uw feed.");


Aan het begin van het script gezet.

Verder neem ik aan dat die 'ini_set' alleen voor DAT scriptje geldt ? Lijkt me vrij logisch in ieder geval.

[ Voor 101% gewijzigd door BoXie op 27-02-2005 23:06 ]


Acties:
  • 0 Henk 'm!

Verwijderd

BoXie schreef op zondag 27 februari 2005 @ 22:36:
Verder neem ik aan dat die 'ini_set' alleen voor DAT scriptje geldt ? Lijkt me vrij logisch in ieder geval.
True :)
Pagina: 1