[PHP]Signature update met cUrl

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Ik zou graag mijn laatste tweets in de signature van GoT tonen. Dit wil ik doen met een cron en een php scriptje. De library voor Tweets te pakken en netjes te parsen heb ik al en nu komt het POST gedeelte. Ik heb o.a. dit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
$action = 'http://gathering.tweakers.net/forum';
$postFields = array(
  'action' => 'edit_user',
  'data[reactid]' => $sessieId,
  'data[signature]' => $signature,
  'data[pwd]' => $password
  );
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $action);
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields );
curl_close($ch);
De namen voor de postfields heb ik in de broncode opgezocht. Ik heb natuurlijk een werkende sessie nodig. Deze zoek ik hier op. Deze sessie is niet gelockt aan ip oid.

Als ik nu dit script in de browser laat runnen (localhost) krijg ik de GoT inlogpagina te zien. Kennelijk is het toch niet voldoende. Moet ik ook http auth doen, of welke vorm van extra authenticatie? Ik kan in het <form> namelijk niets terugvinden. Toch moet het wel te doen zijn, getuige de Tweakblogs van Erkens:SMS Ontvangen/versturen. Is er iemand die het wel weet?

Acties:
  • 0 Henk 'm!

  • DexterDee
  • Registratie: November 2004
  • Laatst online: 12-09 17:18

DexterDee

I doubt, therefore I might be

Ik heb geen ervaring met sessies maken in PHP met tweakers.net, maar ik gok dat er een session cookie naar de server gestuurd moet worden. Dus eerst authenticeren en cookie terug lezen en een tweede request maken met het cookie in de headers.

TIP: installeer firefox met de firebug extensie en kijk eens precies wat er over de lijn gaat in de headers (of gebruik fiddler o.i.d., ben zelf linux gebruiker :P)

[ Voor 14% gewijzigd door DexterDee op 22-03-2009 21:17 ]

Klik hier om mij een DM te sturen • 3245 WP op ZW


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Je moet een cookie meesturen met daarin je TnetId. Zo doe ik t althans want elk uur update ik mn sig ook ;)

@ DexterDee:
session opbouwen oid is niet nodig, cookie met geldige TnetId is voldoende :) In feite doe je niks anders dan dat je browser doet met curl, dat moet je even inzien.

[ Voor 45% gewijzigd door Cartman! op 22-03-2009 21:18 ]


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Wellicht is de gebruikersnaam zelf ook nodig (bij de postfields) om dit te kunnen doen?

Acties:
  • 0 Henk 'm!

  • DR
  • Registratie: December 2000
  • Niet online

DR

Ook een Cookie: header meesturen? ;)


[edit]
Niet eerst wat anders gaan doen voordat ik reply :P

Nog maar een edit, volgens mij dien je ook je alle velden te sturen en niet alleen hetgeen je verandert, maar dat durf ik niet met 100% zekerheid te zeggen :)

[ Voor 92% gewijzigd door DR op 22-03-2009 22:16 ]


Acties:
  • 0 Henk 'm!

  • iH8
  • Registratie: December 2001
  • Laatst online: 17-06-2024

iH8

code:
1
<form id="login_form" onsubmit="return encrypt_password(this)" action="http://tweakers.net/my.tnet/login" method="post">


code:
1
<form onsubmit="return checkpassword(this)" action="http://tweakers.net/my.tnet/profile" enctype="multipart/form-data" method="post">


;) volgens mij doe je echt het één en ander fout

Aunt bunny is coming to get me!


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
iH8 schreef op zondag 22 maart 2009 @ 23:19:
;) volgens mij doe je echt het één en ander fout
:? Ik volg het effe niet?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • iH8
  • Registratie: December 2001
  • Laatst online: 17-06-2024

iH8

Ow nou ik meen dat ie naar de verkeerde url aan het posten is en dat hij in één post wilde inloggen en profile editten. Hij zal toch eerst een valid sessie moeten hebben om uberhaubt naar het profile te mogen posten? En moet dat dan ook niet via die bovenstaande urls ipv http://gathering.tweakers.net/forum ? Of is er een API die ik niet gezien heb?

Aunt bunny is coming to get me!


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

iH8 schreef op zondag 22 maart 2009 @ 23:35:
Ow nou ik meen dat ie naar de verkeerde url aan het posten is en dat hij in één post wilde inloggen en profile editten. Hij zal toch eerst een valid sessie moeten hebben om uberhaubt naar het profile te mogen posten? En moet dat dan ook niet via die bovenstaande urls ipv http://gathering.tweakers.net/forum ? Of is er een API die ik niet gezien heb?
Alles wat je moet doen is een geldige tnetid mee posten. Ik zie in de TS dat er nu een reactid gebruikt wordt, en volgens mij is die een paar jaar geleden overal vervangen door een tnetid variabele. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
Download de LiveHttpHeaders-plugin voor Firefox. Open hem en log in. Je ziet dan exact hoe het HTTP request er uit ziet, de headers en de POST-data.
Die kun je eenvoudig overnemen in een script.

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Cartman! schreef op zondag 22 maart 2009 @ 21:17:
Je moet een cookie meesturen met daarin je TnetId. Zo doe ik t althans want elk uur update ik mn sig ook ;)
Mm, ja dat is natuurlijk ook nodig :p. Het sturen van een cookie is niet zo heel erg moeilijk, dus het werkt nu. Bedankt! :)
GJtje schreef op zondag 22 maart 2009 @ 21:21:
Wellicht is de gebruikersnaam zelf ook nodig (bij de postfields) om dit te kunnen doen?
Nope, dat heb ik namelijk helemaal gecontroleerd. Er zijn een aantal hidden fields (action en data[reactid]) en die heb ik al overgenomen.
DR schreef op zondag 22 maart 2009 @ 22:13:
Nog maar een edit, volgens mij dien je ook je alle velden te sturen en niet alleen hetgeen je verandert, maar dat durf ik niet met 100% zekerheid te zeggen :)
De velden die ik hier niet laat zien zijn ook niet per se nodig. Met deze postfields zou ik bijv. mijn homepage resetten, maar dat zijn details die niet nodig waren voor het probleem :)
iH8 schreef op zondag 22 maart 2009 @ 23:19:
code:
1
<form id="login_form" onsubmit="return encrypt_password(this)" action="http://tweakers.net/my.tnet/login" method="post">

code:
1
<form onsubmit="return checkpassword(this)" action="http://tweakers.net/my.tnet/profile" enctype="multipart/form-data" method="post">


;) volgens mij doe je echt het één en ander fout
Je bedoeld dat ik die functies niet implementeer? Volgens mij haal jij deze gegevens van de inlogpagina af. Daar heb je de mogelijkheid om veiliger in te loggen door met javascript je password te hashen. Dat is op edit_user niet van toepassing. Daar staan alleen scripts om te controleren of je wel alle benodigde velden hebt ingevoerd.
NMe schreef op maandag 23 maart 2009 @ 00:21:
[...]

Alles wat je moet doen is een geldige tnetid mee posten. Ik zie in de TS dat er nu een reactid gebruikt wordt, en volgens mij is die een paar jaar geleden overal vervangen door een tnetid variabele. :)
Nou, wel als cookie, niet als hidden field in het formulier :)
frickY schreef op maandag 23 maart 2009 @ 00:56:
Download de LiveHttpHeaders-plugin voor Firefox. Open hem en log in. Je ziet dan exact hoe het HTTP request er uit ziet, de headers en de POST-data.
Die kun je eenvoudig overnemen in een script.
Ja, ik had al Firebug, maar om dus gestructureerd dat formulier uit te lezen. Best handig, die netwerkmonitoring :+

/edit:
Voor diegene die ooit nog iets soortgelijks willen hebben:
heel even preventief verwijderd...

[ Voor 21% gewijzigd door een moderator op 23-03-2009 11:37 . Reden: Zie hieronder... ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Hou wel even in de gaten dat het niet de bedoeling is dat zoiets iedere 10 seconden gaat draaien ofzo en dat je dus de load laag houdt. Ik ben even intern aan 't zien of we hier een officieel beleid voor hebben maar tot die tijd is het dus zaak dat je t.net niet hier mee gaat lopen 'pesten' om het zo maar even te zeggen ;) Zaken die de spuigaten uit lopen zullen met gepaste maat afgeknald bestraft worden :)

[ Voor 12% gewijzigd door RobIII op 23-03-2009 11:30 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
:p joh ;)

Het liefst had ik gewild dat ik on-demand het kon draaien: bij elke nieuwe update deze submitten naar al mijn "kanalen" zegmaar. Helaas gaat het niet en doe ik het nu eens per twee uur. Mij lijkt dat zoiets wel ok is.

Ik heb gekeken naar wat jullie zeiden over de TurboTracker:
Voor thuisklussers die de Tweakers.net headlines met hun eigen progsels en scripts willen parsen, is er de turbotrekker. Deze geeft de nieuws headlines van de afgelopen 2 dagen in handig parsebaar formaat weer. De turbotracker wordt om de 5 minuten herschreven. Het is ivm de server load niet de bedoeling dat je de file vaker dan om de 5 minuten van de server trekt:
Hoewel het downloaden iets anders is dan posten, lijkt me dat daarom een marge van eens per uur / eens per twee uur ok zou zijn :)

offtopic:
Sowieso zijn de gebruikers van Twitter die "he, ik een nu een boterham" en "zo, nu moet ik naar de wc" twitteren uncool en zinloos. Die posten veel te vaak met alleen maar non-sense. Dus mij zou je iig niet elke minuut een nieuwe update zien posten ;)

[ Voor 13% gewijzigd door mithras op 23-03-2009 11:37 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik heb toch heel even preventief je post even aangepast zolang het overleg loopt. Ik DM je zo even met wat meer info.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

mithras schreef op maandag 23 maart 2009 @ 11:33:
:p joh ;)

Het liefst had ik gewild dat ik on-demand het kon draaien: bij elke nieuwe update deze submitten naar al mijn "kanalen" zegmaar. Helaas gaat het niet en doe ik het nu eens per twee uur. Mij lijkt dat zoiets wel ok is.
Dat is toch niet nodig? Je kan in een DB bijhouden welke berichten je al eens hebt gepushed naar je sig. Dan check je eens in de x uur je tweeter pagina (of weet ik het hoe je daar aan komt), gooi je die berichten tegen je DB aan om te kijken of hij nieuw is en dan pas je pas de signature aan.

[ Voor 36% gewijzigd door Verwijderd op 23-03-2009 12:05 . Reden: Quote toevoegen is wel zo handig ]


Acties:
  • 0 Henk 'm!

  • Cadezo
  • Registratie: Februari 2006
  • Niet online
mithras schreef op maandag 23 maart 2009 @ 10:10:
[...]
/edit:
Voor diegene die ooit nog iets soortgelijks willen hebben:
heel even preventief verwijderd...
Ik heb het even geprobeerd. Het enigste wat me wel direct opvalt, is dat als het scriptje wordt gerund de signature inderdaad wordt geupdated, maar je overige profielinformatie (naam, woonplaats, e.d.) worden 'gewist'... Natuurlijk makkelijk om deze ook mee te geven in de POST, maar had je dit zelf al gezien?

@hieronder:
Toch niet helemaal goed gelezen....

[ Voor 5% gewijzigd door Cadezo op 23-03-2009 13:06 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Cadezo schreef op maandag 23 maart 2009 @ 12:59:
[...]

Ik heb het even geprobeerd. Het enigste wat me wel direct opvalt, is dat als het scriptje wordt gerund de signature inderdaad wordt geupdated, maar je overige profielinformatie (naam, woonplaats, e.d.) worden 'gewist'... Natuurlijk makkelijk om deze ook mee te geven in de POST, maar had je dit zelf al gezien?
mithras schreef op maandag 23 maart 2009 @ 10:10:
De velden die ik hier niet laat zien zijn ook niet per se nodig. Met deze postfields zou ik bijv. mijn homepage resetten, maar dat zijn details die niet nodig waren voor het probleem :)
;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Verwijderd schreef op maandag 23 maart 2009 @ 12:04:
[...]


Dat is toch niet nodig? Je kan in een DB bijhouden welke berichten je al eens hebt gepushed naar je sig. Dan check je eens in de x uur je tweeter pagina (of weet ik het hoe je daar aan komt), gooi je die berichten tegen je DB aan om te kijken of hij nieuw is en dan pas je pas de signature aan.
Tja, dat is natuurlijk nog steeds een workaround he :P

Het kan wel (al zou ik het eerder in elkaar flansen met een filebased cache), maar het is niet nodig. Ik doe een post met een bizar lage content-length. En na intern overleg blijkt dat ik het mag doen in het tempo wat ik nu aanhoudt. Dan speelt de luiheid op en ga ik het ook niet programmeren ;)

Acties:
  • 0 Henk 'm!

  • iH8
  • Registratie: December 2001
  • Laatst online: 17-06-2024

iH8

mithras schreef op maandag 23 maart 2009 @ 11:33:

Het liefst had ik gewild dat ik on-demand het kon draaien: bij elke nieuwe update deze submitten naar al mijn "kanalen" zegmaar. Helaas gaat het niet en doe ik het nu eens per twee uur
Ik heb zoiets ook gemaakt maar van armoede overgestapt naar ZendFramework. Wat een verademing zeg!

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
$update = 'PWNAGE!';

$twitter = new Zend_Service_Twitter('foobar', '*****');
$facebook = new Zend_Service_Facebook('foobar@example.org', '*****');
$hyves = new Zend_Service_Hyves('foobar', '*****');

$twitterAuth = $twitter->account->verifyCredentials();
$faceBookAuth = $facebook->account->verifyCredentials();
$hyvesAuth = $hyves->account->verifyCredentials();

$twitterStatus = $twitter->status->update($status);
$facebookStatus = $facebook->status->update($status);
$hyvesStatus = $hyves->www->update($status);


Gewoon je eigen services schrijven en extenden op basis van Zend_Http. Een Zend_Service_Tweakers lijkt me ook wel iets. >:)

edit: Oauth gaat echt een verademing worden ook btw

Aunt bunny is coming to get me!


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22:03

Matis

Rubber Rocket

Okee, ik wil ook graag een dynamische signature gaan maken.

Even voor de goede orde! Zend_Http gebruiken, een tnetid meesturen en gaan?

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:12

Creepy

Tactical Espionage Splatterer

Probeer het en je weet het ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Met de juiste POST velden en een cookie met je TnetID ben je er grofweg al :)

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22:03

Matis

Rubber Rocket

Oke, ik ben dus begonnen met een webpagina te maken op een externe server (Sohosted).

Ik heb deze pagina gevonden voor tekst en uitleg: http://framework.zend.com...ent/Zend_Http_Client.html

Edit:
Nu moet ik natuurlijk een include doen.

Volgens een tutorial moet dat het volgende zijn:
PHP:
1
require_once 'Zend/Http/Client.php';


Alleen kan natuurlijk die map/file niet gevonden worden. Ik heb een vraagje uitgedaan naar de klantenservice om te vragen waar die includes vandaan geplukt kunnen worden.

Maar heeft een van jullie een suggestie?

[ Voor 46% gewijzigd door Matis op 26-03-2009 11:04 . Reden: Te snel op verstuur bericht gedrukt. ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Dat is niet echt meer gerelateerd aan mijn probleem. Nofi, maar dit topic ging over de authenticatie en het opbouwen van een request om de signature te updaten. Jouw vraag gaat nu over ZF.
Er zijn genoeg voorbeelden en tutorials te vinden, maar als je er niet uitkomt moet je maar even een nieuw topic openen (dat is ook overzichtelijker voor degene die eenzelfde probleem heeft en gaat zoeken).

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22:03

Matis

Rubber Rocket

mithras schreef op donderdag 26 maart 2009 @ 11:12:
Dat is niet echt meer gerelateerd aan mijn probleem. Nofi, maar dit topic ging over de authenticatie en het opbouwen van een request om de signature te updaten. Jouw vraag gaat nu over ZF.
Er zijn genoeg voorbeelden en tutorials te vinden, maar als je er niet uitkomt moet je maar even een nieuw topic openen (dat is ook overzichtelijker voor degene die eenzelfde probleem heeft en gaat zoeken).
Ja, ik was natuurlijk weer dom. De hele zwik moet je gewoon uploaden naar de website. 8)7

Ik ben weer ontopic...

PHP:
1
2
3
4
5
$client = new Zend_Http_Client('http://gathering.tweakers.net/forum');
$client->setParameterPost('action', 'edit_user');
$client->setAuth('toaomatis', '****', Zend_Http_Client::AUTH_BASIC);
$response = $client->request(Zend_Http_Client::POST);
//echo $response->asString();


Dit zal als het goed is mijzelf moeten inloggen en de action edit_user als post argument meegeven.
Nu moet ik dus nog achter mijn TnetId mijn id hangen.

Verder zal ik nog meer argumenten (post / coockie) mee moeten geven om het te laten werken.

Zijn dat de argumenten welke de TS aangaf?

[ Voor 6% gewijzigd door Matis op 26-03-2009 11:41 . Reden: Extra tekst ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Cadezo
  • Registratie: Februari 2006
  • Niet online
toaomatis schreef op donderdag 26 maart 2009 @ 11:38:
[...]


Ja, ik was natuurlijk weer dom. De hele zwik moet je gewoon uploaden naar de website. 8)7

Ik ben weer ontopic...

PHP:
1
2
3
4
5
$client = new Zend_Http_Client('http://gathering.tweakers.net/forum');
$client->setParameterPost('action', 'edit_user');
$client->setAuth('toaomatis', '****', Zend_Http_Client::AUTH_BASIC);
$response = $client->request(Zend_Http_Client::POST);
//echo $response->asString();


Dit zal als het goed is mijzelf moeten inloggen en de action edit_user als post argument meegeven.
Nu moet ik dus nog achter mijn TnetId mijn id hangen.
Je moet volgens mij ook nog een cookie meezenden met je T.net-id (sessie-id). Had je ondertussen zelf ook al bedacht.

Inderdaad zijn dat de argumenten die de ts aangeeft en dan inclusief gegevens die je nog meer kwijt wilt, zoals voornaam, geboortedatum, etc.

[ Voor 11% gewijzigd door Cadezo op 26-03-2009 11:44 ]


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Waarom pas je een AUTH_BASIC toe? Als je in een cookie kijkt die je nu op je pc staat heb je al een TnetID. De string in je cookie moet je meesturen als cookie met naam TnetID naar de pagina die je opvraagt (danwel waar je heen post met de juiste velden).

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22:03

Matis

Rubber Rocket

yes, ik heb hier een sessieID vandaan gehaald.
Cartman! schreef op donderdag 26 maart 2009 @ 11:43:
Waarom pas je een AUTH_BASIC toe?
Dat stond default zo ingevuld als ik de tutorial volgde.

In de broncode heb ik de rest van de velden gezien welke ik kan wijzigen.

Alvast bedankt!

[ Voor 132% gewijzigd door Matis op 26-03-2009 11:49 . Reden: Ik weet niet wat ik heb, druk telkens op verstuur bericht... ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Ja, maar dan heb je nog steeds geen http auth nodig ;) Geen idee wat T.net ermee doet, ik denk niets, maar dat zal je niet helpen in ieder geval. Het makkelijkste is om met Firebug de request uit te lezen en die na te bouwen. Dan mis je niets, heb je ook niets teveel :)

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Die tutorial is niet toegespitst op T.net natuurlijk (als dat wel is moet dan moet ie nog eens goed bekijken hoe het werkt).

T.net heeft enkel een cookie met geldig ID nodig en dan kun je pagina's bezoeken/profiel updaten enzo. Zoals mithras al zegt: check eens wat je browser allemaal voor headers meestuurt en maak dat na met curl danwel Zend_Http.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22:03

Matis

Rubber Rocket

Gelukkig was de tutorial niet toegespitst op T.net :P Ik heb nu met Firebug alle post commando's gefilterd alleen zit ik nog met het volgende in mijn maag:

Hierboven is beschreven dat er geen reactid meer gebruikt wordt; Echter kom ik hem nog wel tegen in het post argument.

PHP:
1
2
3
4
5
$client = new Zend_Http_Client('http://gathering.tweakers.net/forum');
//nog meer data[...] velden.
$client->setParameterPost('data[reactid]', '***');
$client->setAuth('toaomatis', '***'); // Wel gebruiken toch?
$response = $client->request(Zend_Http_Client::POST);


Maar waar dien ik de TnetID toe te voegen? Moet ik die zetten als

PHP:
1
$client->setCookie('TnetId','***');


Waar deze waarde dezelfde is als degene welke bij data[reactid] meegegeven wordt?

Denk het wel.

In dat geval hoef ik geen setAuth() meer te doen neem ik ook aan :P

[ Voor 4% gewijzigd door Matis op 26-03-2009 12:22 . Reden: Extra tekst ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
toaomatis schreef op donderdag 26 maart 2009 @ 12:20:
Gelukkig was de tutorial niet toegespitst op T.net :P Ik heb nu met Firebug alle post commando's gefilterd alleen zit ik nog met het volgende in mijn maag:

Hierboven is beschreven dat er geen reactid meer gebruikt wordt; Echter kom ik hem nog wel tegen in het post argument.

PHP:
1
2
3
4
5
$client = new Zend_Http_Client('http://gathering.tweakers.net/forum');
//nog meer data[...] velden.
$client->setParameterPost('data[reactid]', '***');
$client->setAuth('toaomatis', '***'); // Wel gebruiken toch?
$response = $client->request(Zend_Http_Client::POST);


Maar waar dien ik de TnetID toe te voegen? Moet ik die zetten als

PHP:
1
$client->setCookie('TnetId','***');


Waar deze waarde dezelfde is als degene welke bij data[reactid] meegegeven wordt?

Denk het wel.

In dat geval hoef ik geen setAuth() meer te doen neem ik ook aan :P
mithras in "[PHP]Signature update met cUrl"

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22:03

Matis

Rubber Rocket

Ik heb toch gezegd dat ik hierboven heb gelezen dat er geen reactid meer nodig is. En een tnetid in een cookie. Daarnaast krijgt ik nu ineens van mijn browser de volgende pagina wanneer ik het script uitvoer met hetvolgende ge-echoed:

PHP:
1
echo $response->getBody();


code:
1
2
Inloggen
Voor deze actie moet je je inloggen.


Dit is dus de inlog pagina van GoT. Ik denk dat het probleem nu het IP adres verschil is. Immers is deze sessie-id gebaseerd op mijn IP en niet op het IP van de server waar de pagina vandaan komt ;)

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Dan weet je dus dat je een nieuwe login moet doen zonder IP koppeling. Of de login doen vanaf de webserver natuurlijk en dan wel op IP koppelen ;)

edit:
overigens kwam ik tegen dat ik wel een data[reactid] moet meegeven in het formulier en die verandert elke zoveel tijd (5min?) weer. Om ook dat mee te nemen doe ik eerst een GET-request naar die pagina en haal ik met wat DOM functies dat reactid eruit te halen om vervolgens mee te sturen in de POST-request. Als ik dat reactid leeg laat danwel iets statisch invoer krijg ik een ander resultaat.

[ Voor 58% gewijzigd door Cartman! op 26-03-2009 13:19 ]


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22:03

Matis

Rubber Rocket

Cartman! schreef op donderdag 26 maart 2009 @ 13:10:
Dan weet je dus dat je een nieuwe login moet doen zonder IP koppeling. Of de login doen vanaf de webserver natuurlijk en dan wel op IP koppelen ;)
Ja, ik koppel mijn ip niet aan de inlogsessie. Ik weet echt niet waar het spaak loopt, het probleem is ook dat ik weinig tot niet kan debuggen.

Misschien moet ik het morgen eens in Curl proberen, want ik zie nu even door de bomen het bos niet meer.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Je hebt toch met Firebug het request gezien? Nu kan je het script uitvoeren en daarvan het request bekijken. Als je die twee vergelijkt weet je ook waar het spaak loopt :)

Ik zie nog niet waarom je het reactId in je postveld niet nodig hebt. Dat de naam reactId obsolete is, betekent niet dat deze ook niet nodig is. Ik gebruik hem wel en daarmee lukt mijn post wel :)

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Precies, zoals ik net al zei heb ik dat reactId ook nodig maar wijzigt deze elke x aantal minuten. Misschien dat een devver ons kan uitleggen wat het voor soort id is? (gewoon uit interesse).

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Cartman! schreef op donderdag 26 maart 2009 @ 15:16:
Precies, zoals ik net al zei heb ik dat reactId ook nodig maar wijzigt deze elke x aantal minuten. Misschien dat een devver ons kan uitleggen wat het voor soort id is? (gewoon uit interesse).
:? Niet bij mij hoor? Ik controleer nu even deze pagina en daar staat nog steeds als value mijn TnetID in die ook bij sessies staat en ik in mijn script gebruik...

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22:03

Matis

Rubber Rocket

mithras schreef op donderdag 26 maart 2009 @ 14:31:
Je hebt toch met Firebug het request gezien? Nu kan je het script uitvoeren en daarvan het request bekijken. Als je die twee vergelijkt weet je ook waar het spaak loopt :)

Ik zie nog niet waarom je het reactId in je postveld niet nodig hebt. Dat de naam reactId obsolete is, betekent niet dat deze ook niet nodig is. Ik gebruik hem wel en daarmee lukt mijn post wel :)
Daar ben ik weer, wat meer gemotiveerder dan gisteren ;)

Ik heb, wanneer ik van GoT mijn profiel update, de POST gegevens gezien. Wanneer ik de scripts van mijn localhost of externe webhost draai, zie ik niet eens een POST header in Firebug 8)7 .

Waarschijnlijk is dat nu het hele probleem ;)

Edit:
GEFIXT :) Het hele probleem was het volgende:

TnetId en tnetid waren niet goed. Het moest zijn: TnetID. Zo dat werkt ook weer :) Many thanks.

Nu nog uitzoeken hoe hij elk uur een berichtje kan sturen en dat de php service blijft draaien ook als ik de website afsluit ;)

Edit2:
@mithras; Hoe heb jij een <br/> in je signature gekregen. Als ik dat doe dan geeft hij hem weer als tekst en niet als HTML commando :(

[ Voor 22% gewijzigd door Matis op 27-03-2009 09:09 . Reden: Gefixt :) ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Waarom zou het in je signature opeens met HTML moeten ipv RML?

Je stelt eerlijk gezegd wel vrij veel vragen welke je met iets meer uitproberen prima zelf moet kunnen oplossen. :>

{signature}


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22:03

Matis

Rubber Rocket

Voutloos schreef op vrijdag 27 maart 2009 @ 09:13:
Waarom zou het in je signature opeens met HTML moeten ipv RML?

Je stelt eerlijk gezegd wel vrij veel vragen welke je met iets meer uitproberen prima zelf moet kunnen oplossen. :>
ik stel veel vragen, maar ik heb het wel zelf gemaakt. En ik had gister niet echt een lekkere dag, waarvoor ik mijzelf verontschuldigd heb.

Ik verwacht ook niet dat iemand zijn/haar gehele script post.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
In Overzicht van UBB-codes staat gewoon de ubb code voor een linebreak. Net als je [i], [u] en [url] kan gebruiken, bestaat in de RML (of heet dan tegenwoordig TML :p) de tag
:)

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22:03

Matis

Rubber Rocket

mithras schreef op vrijdag 27 maart 2009 @ 09:28:
In Overzicht van UBB-codes staat gewoon de ubb code voor een linebreak. Net als je [i], [u] en [url] kan gebruiken, bestaat in de RML (of heet dan tegenwoordig TML :p) de tag
:)
Ja stom natuurlijk. Ik ben er nog niet helemaal bij. Vandaag wordt hier op de zaak gesneden in de personele bezetting. Vannacht ook weinig geslapen en ik ben momenteel meer met mn gedachte bij de meeting van vanmiddag dan dat ik met mn hoofd bij het programmeren ben ;(

Edit:
Ontopic: Het werkt nu en ik ga nu geen *domme* vragen meer stellen. ;)

[ Voor 6% gewijzigd door Matis op 27-03-2009 09:38 ]

If money talks then I'm a mime
If time is money then I'm out of time

Pagina: 1