webForumDet fria alternativet

POST grej..

PHP

10 svar · 593 visningar · startad av peronet

Medlem sedan sep. 200193 inlägg
Frågan#1

Hej hej hallå :)

Jag har ett litet problem,.. kommer till det längre ner.

Bakgrund:
Jag kör ett .php script via cron på en burk, jag har ett script som just nu genererar data till en databas på vår burk, problemet är att jag nu skulle vilja utnytja detta script för att transportera data till en ny burk, dock skall denna göra en typ av POST.

Hur bär jag mig åt för att skapa en funktion som skickar vidare 4 värden till ett script som inte är på min server?

Märk nu att mitt script körs av cron och inte direkt i webservern (om det nu gör någon skillnad)

t.ex: http://www.webserver.com/myfile.php?a=1&b=56&c=988&d=123

Det är typ en sådan sträng jag vill skapa till server två.
(vill inte använda mig av header();

Tack på förhand

Medlem sedan juni 20008 205 inlägg
#2

Du kör det alltså från PHP-binären, inte via omvägen browser + webbserver? Om variablerna kan skrivas ut från PHP-scriptet (och om det inte kommer med en massa fjantig header-info från PHP) kan du göra det med lynx. Exempelvis:


<?php

$foo = "bar";

$baz = "quux";

printf("foo=%s&baz=%s\n", urlencode($foo), urlencode($baz));

?>

För att posta outputen av detta till http://www.foo.bar/quux.php?blarg=baz kan du använda följande kommando:


php script.php | lynx -post_data [url]http://www.foo.bar/quux.php?blarg=baz[/url]
Medlem sedan sep. 200193 inlägg
#3

Tack, precis vad jag leta efter!

Danke

Medlem sedan sep. 200193 inlägg
#4

Iofs inte provat ännu, men men :)

Medlem sedan sep. 200193 inlägg
#5

En annan sak,

kan man inte göra det utan att blanda in ev browsers t.ex lynx ..
kom på att det kan bli problem i framtiden..

Finns det inte något sätt att skicka data till en annan sida utan att behöva använda sig av en browser?

Medlem sedan sep. 200134 inlägg
#6

Jadu det du skulle kunna göra är väl att öppna en socket till den servern.
här har du lite info..

http://se.php.net/manual/en/function.fsockopen.php

Här har du även lite mer..
http://www.faqts.com/knowledge_base/view.phtml/aid/12039/fid/51

Medlem sedan sep. 200193 inlägg
#7

Tjenare !

Nu har jag kommit en bra bit på vägen här.

function sendToHost($host,$method,$path,$data,$useragent=0)
{
if (empty($method))
$method = 'GET';
$method = strtoupper($method);
$fp = fsockopen($host,80);
if ($method == 'GET')
$path .= '?' . $data;
fputs($fp, "$method $path HTTP/1.1\n");
fputs($fp, "Host: $host\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
fputs($fp, "Content-length: " . strlen($data) . "\n");
if ($useragent)
fputs($fp, "User-Agent: MSIE\n");
fputs($fp, "Connection: close\n\n");
if ($method == 'POST')
fputs($fp, $data);

    while (!feof($fp))
            $buf .= fgets($fp,128);
    fclose($fp);
    return $buf;

}
$dest = "JENNY";
$text = "testar";
$from = "070404040404";

sendToHost('www.webserver.se','post','/mottag.asp','dest=$dest&text=$text&from=$from');

problemet är att länken blir:
https://www.webserver.se/mottag.asp?dest=$dest&text=$text&from=$from

alltså, variablarna skrivs inte ut i länken.. vilket innebär att inga värden skickas vidare, när man kör scriptet så får man alltså EXAKT det jag skrev med..

Behöver hjälp nu, det blir inte som jag tänkt mig :(

Märk nu att det är till en ASP sida jag skickar, jag har inget med ASP sidan att göra utan ska endast skicka allt dit som en URL.

Hjälp mottages tacksamt.

Medlem sedan dec. 1999483 inlägg
#8

Ändra: sendToHost('www.webserver.se','post','/mottag.asp','dest=$dest&text=$text&from=$from');

Till: sendToHost('www.webserver.se','post','/mottag.asp',"dest=$dest&text=$text&from=$from");

Medlem sedan sep. 200193 inlägg
#9

Funkade inget vidare med det..

:( mer tips?

Medlem sedan mars 20007 896 inlägg
#10

Testa följande:

sendToHost ( "www.webserver.se", "POST", "/mottag.asp", "dest=" . $dest . "&text=" . $text . "&from=" . $from );

Det ser rätt ut.

Medlem sedan sep. 200193 inlägg
#11

Hummm nu fungerade det.. :)

Jag ber om ursäkt för att jag tog upp lite för mycket tid :)

tack tack tack o ha en fortsatt trevligt dag

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)