[PHP] Url in de achtergrond aanroepen

Pagina: 1
Acties:
  • 252 views sinds 30-01-2008
  • Reageer

Onderwerpen


  • Millshot2
  • Registratie: Februari 2006
  • Laatst online: 13-10-2022
Hoi Tweakers,

Heb even zitten zoeken in de huidige topics, maar kan er geen oplossing tussen vinden voor mijn probleem.

Ik ben namelijk TomTom Work aan het integreren in een extranet. Opdrachten, berichtjes en positieopvragingen moeten gemakkelijk kunnen vanuit het eigen extranet, ipv steeds in te loggen bij tomtom. Gelukkig heeft TomTom daar iets voor gemaakt.

Je kunt via een URL de acties uitvoeren die je wilt. Alleen, je gebruikersnaam en wachtwoord moet ook in de url staan. Dus ik wil niets client side hebben. Het gedeelte dat een gebruiker van het extranet een bericht kan typen voor een wagen aangesloten op TomTom Work werkt al.

Nu heb ik alleen nog iets nodig waardoor ik in het script de volgende url kan sturen naar tomtom :

https://new.webfleet.de/e...ectno=999&messagetext=hoi

Zonder dat gebruikers natuurlijk ooit de gebruikersnaam en wachtwoord zien. En ik ook nog eventuele foutmeldingen van tomtom die ik terugkrijg kan verwerken.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 09:56

TeeDee

CQB 241

(Xml)HttpRequest? Ik dacht dat dat in PEAR zat. Then again, ik ben geen php-er, maar door een simpele google actie kwam ik daar achter.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • L0we
  • Registratie: Mei 2004
  • Laatst online: 13-08 20:15
http://nl2.php.net/file

kan je hier wat mee?

  • Millshot2
  • Registratie: Februari 2006
  • Laatst online: 13-10-2022
Deze geeft helaas een foutmelding, terwijl de url wel werkt als ik deze gewoon ingeef via de browser.

  • Millshot2
  • Registratie: Februari 2006
  • Laatst online: 13-10-2022
TeeDee schreef op donderdag 16 november 2006 @ 12:09:
(Xml)HttpRequest? Ik dacht dat dat in PEAR zat. Then again, ik ben geen php-er, maar door een simpele google actie kwam ik daar achter.
Dit lijkt me ook niet echt een optie. Zit weer in de javascript, xml , en dus ajax sferen. Terwijl ik gewoon een simpel aanvraagje naar een url wil doen.

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 08:23
Je kunt zo'n request gewoon met file_get_contents() doen.
PHP:
1
2
$url = 'http:://google.com';
$googlesHTML = file_get_contents($url);

Mocht je ook post of cookie vars mee willen sturen dan zul je zelf een implementatie moeten maken. Dat kan door met fsockopen() een connectie te maken met de webserver en vervolgens zelf de juiste HTTP headers te sturen.

Regeren is vooruitschuiven


Verwijderd

Check curl in de handleiding...

vb:
PHP:
1
2
3
4
5
6
7
8
9
10
11
$url = 'http://localhost/dev/users/validate.php';
echo 'Get: '.$url.'<br />';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "email=test");
$xml = curl_exec($ch);
curl_close($ch);
echo $xml;

[ Voor 86% gewijzigd door Verwijderd op 16-11-2006 13:09 ]


  • analog_
  • Registratie: Januari 2004
  • Niet online
curl library ?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11-08 18:05

Janoz

Moderator Devschuur®

!litemod

Millshot2 schreef op donderdag 16 november 2006 @ 13:02:
[...]


Deze geeft helaas een foutmelding, terwijl de url wel werkt als ik deze gewoon ingeef via de browser.
Hier hebben we erg weinig aan. Het helpt een stuk meer wanneer je ook aangeeft welke foutmelding je krijgt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Millshot2
  • Registratie: Februari 2006
  • Laatst online: 13-10-2022
Janoz schreef op donderdag 16 november 2006 @ 13:19:
[...]

Hier hebben we erg weinig aan. Het helpt een stuk meer wanneer je ook aangeeft welke foutmelding je krijgt.
file('de url'); geeft

Notice: file() [function.file]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in C:\blabla on line 1314

Warning: file(de url) [function.file]: failed to open stream: Invalid argument in C:\blabla on line 1314

failed to open stream zou dus zeggen dat m'n url verkeerd is.
Maar als ik deze overneem, nieuw venster open in m'n browser, en deze url exact overneem, dan werkt het perfect.

Ik zal even de andere voorstellen uitproberen.

  • Millshot2
  • Registratie: Februari 2006
  • Laatst online: 13-10-2022
T-MOB schreef op donderdag 16 november 2006 @ 13:07:
Je kunt zo'n request gewoon met file_get_contents() doen.
PHP:
1
2
$url = 'http:://google.com';
$googlesHTML = file_get_contents($url);

Mocht je ook post of cookie vars mee willen sturen dan zul je zelf een implementatie moeten maken. Dat kan door met fsockopen() een connectie te maken met de webserver en vervolgens zelf de juiste HTTP headers te sturen.
Deze oplossing werkt.
Ik moet wel de https vervangen door http, maar wellicht is dat op te lossen door te kijken naar de server instellingen.

Bedankt voor jullie hulp. Ik zal vast over een paar dagen weer vast zitten bij een vraagstuk, dus tot dan ;)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Janoz schreef op donderdag 16 november 2006 @ 13:19:
[...]

Hier hebben we erg weinig aan. Het helpt een stuk meer wanneer je ook aangeeft welke foutmelding je krijgt en relevante code erbij post.
O-)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

De veroorzakende foutmelding staat een regel hoger:
code:
1
Notice: file() [function.file]: Unable to find the wrapper "https"

waarschijnlijk ssl extensie niet aanstaan, of gooi de foutmelding door google :)

  • Breuls
  • Registratie: Januari 2000
  • Laatst online: 19-07 11:22

Breuls

Bad Wolf

Millshot2 schreef op donderdag 16 november 2006 @ 13:42:
[...]

failed to open stream zou dus zeggen dat m'n url verkeerd is.
De melding zegt redelijk letterlijk dat-ie geen HTTPS-URL's kan openen omdat dat niet aagezet is. Als je zelf geen invloed hebt op de php.ini kun je daar ook niet veel aan veranderen.
Pagina: 1